【javascript基础---正则表达式和字符串,数组】教程文章相关的互联网学习教程文章

java – 如何使用正则表达式提取字符串的电话号码?【代码】

如果我有一个包含以下内容的字符串:这是1测试123-456-7890我需要提取1234567890作为电话号码.我不想提取测试前的数字1.如何在java中使用正则表达式? 我知道一种方法,但我不确定它是否是最好的解决方案:String inputString = "This is 1 test 123-456-7890"; string result = inputString.replaceAll("(\\d{3})-(\\d{3})-(\\d{4})",""); String phoneNumber = inputString.replace(result, "");解决方法:以下代码将检查您提及的...

没有堆栈溢出的Java正则表达式解析器

使用java.util.regex处理正则表达式导致大字符串和复杂正则表达式的堆栈溢出(特别是在其中). 有没有办法在Java中更具防御性地处理正则表达式,比如 >具有正则表达式的非递归模式>为这些正则表达式抛出一个可捕获的异常(而不是java.lang.Stackoverflow错误), 或任何其他机制不会杀死我的程序或使其处于不可恢复的状态?解决方法:StackOverflowError可以像任何异常一样被捕获和处理.错误表示您通常不应该捕获的严重问题,但在这种情况下...

使用Pattern和Matcher的Java正则表达式【代码】

我的问题与Java中的正则表达式有关,特别是给定搜索模式的多个匹配.我需要获得的所有信息都在1行,它包含一个映射到IP地址的别名(例如SA).每个都用逗号分隔.我需要提取每一个.SA "239.255.252.1", SB "239.255.252.2", SC "239.255.252.3", SD "239.255.252.4"我的Reg Ex看起来像这样:Pattern alias = Pattern.compile("(\\S+)\\s+\"(\\d+\\.\\d+\\.\\d+\\.\\d+)\""); Matcher match = alias.matcher(lineInFile) while(match.f...

java – 正则表达式:使用System.out.println(m.matches())时不会打印所有匹配项;【代码】

我执行以下代码:public static void test() {Pattern p = Pattern.compile("BIP[0-9]{4}E");Matcher m = p.matcher("BIP1111EgjgjgjhgjhgjgjgjgjhgjBIP1234EfghfhfghfghfghBIP5555E");System.out.println(m.matches());while(m.find()) {System.out.println(m.group());}} 我无法解释的是当使用System.out.println(m.matches())执行代码时;印刷的比赛是:BIP1234E和BIP5555E.但是当System.out.println(m.matches());从代码中删除了...

java – 基于正则表达式替换的效率【代码】

以下哪项更有效,更好用?value.replaceAll("['‘’`]","")value.replaceAll("['‘’`]+","")我的猜测是,对于没有被替换的字符串的字符串,或者至少没有它们的序列,两者是相同的,或者第一个更好是不那么复杂. 但是,如果我正在查看字符串被替换的字符串,那该怎么办?第二个会更好吗?'abababababababab'.replaceAll("ab","") V.S.'abababababababab'.replaceAll("(ab)+","") 如果这对于这个问题很重要,我正在使用Java.解决方法:根据分...

需要在java中使用正则表达式解析句子【代码】

我想提出以下的正则表达式:<action>::=Action(<entity><entity><Asset>)我想有这样的令牌:Action( <entity> <entity> <Asset> )实体和资产具有<>在它们周围,Action后跟“(”.但是,“)”是一个独立的标记.我使用以下内容:([a-zA-Z]+\\()|((<.*?>)|([a-zA-Z]*))|(\\))?但它没有显示“)”作为标记?我究竟做错了什么?解决方法:试试这个正则表达式:([a-zA-Z]*\\()|(<[a-zA-Z]*>)|(\\))

Java字过滤器使用正则表达式?【代码】

我正在尝试创建一个文字过滤器,用户可以用其他人替换某些单词.但是,显然有一些我不希望它过滤的东西(例如,除了其他词之外的单词). 到目前为止我有这个:msg = msg.replaceAll("(?i)\\b[^\\w -]*"+original+"[^\\w -]*\\b", replacement);在大多数情况下,它运作得相对较好.但是,有一个小故障. 当我用“r”替换“m”时,我们说“r”然后它也会替换“我”中的“m” – 这意味着它变成了“我”,这显然是一个错误. 我希望你明白我的意思....

如何在java正则表达式中转换xsd:pattern【代码】

据我所知,我使用了很少的java正则表达式,有一种方法(或工具)来转换java正则表达式中的控件xsd:pattern? 我的xsd:模式如下:<xsd:simpleType name="myCodex"> <xsd:restriction base="xsd:string"><xsd:pattern value="[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9A-Za-z]{3}[A-Za-z]{1}" /><xsd:pattern value="[A-Za-z]{6}[0-9LMNPQRSTUV]{2}[A-Za-z]{1}[0-9LMNPQRSTUV]{2}[A-Za-z]{1}[0-9LMNPQRSTUV]{3}[A-Za-z]{1...

java – 捕获由特殊字符嵌套/包含的正则表达式组【代码】

我正在尝试搜索出现在波浪号(?)符号边框内的单词.e.g. ~albert~ is a ~good~ boy.我知道这可以通过使用?来实现. ??,它已经适合我了.但是有些特殊情况需要匹配嵌套的波浪语句子.e.g. ~The ~spectacle~~ was ~broken~在上面的例子中,我必须分别捕捉’The Spectacle’,’spectacle’和’broken’.这些将被逐字翻译或随附文章(An,The,whatever)翻译.原因是在我的系统中:1) 'The spectacle' requires a separate translation on a spe...

java – 正则表达式在字符上转义【代码】

我必须分开一大堆电子邮件和名字,我必须用逗号分隔,但有些名字中有逗号,所以我必须首先处理它.幸运的是,这些名字介于“引号”之间. 目前我得到了这样的正则表达式输出(编辑:它在我看到的论坛中不显示电子邮件!):"Talboom, Esther""Wolde, Jos van der""Debbie Derksen" <deberken@casema.nl>, corine <corine5@xs4all.nl>, "最后一个出错了,因为这个名字没有逗号,所以它一直持续到它找到一个,那就是我想用来分隔的那个.所以...

验证java正则表达式中的价格【代码】

我正在尝试验证价格范围格式.以下是字符串序列:"MSRP $250.00 - Event Price $129.00"我试过这样的:String t=price1.replace("$","T"); t= t.replace(" ", ""); MSRPT([0-9]+).([0-9]+)-EventPriceT([0-9]+).([0-9]+)但它没有匹配. 谢谢解决方法:使用:MSRP\s\$([0-9]+)\.([0-9]+).*?\$([0-9]+)\.([0-9]+)请注意,您需要转义$和. – 点是“任何”字符 但我会写:MSRP\s+\$([\d\.]+).*?Event\sPrice\s+\$([\d\.]+)而且你将获得1美元...

Java正则表达式.获取某些KEYWORDS之间的子字符串【代码】

我需要帮助为这个问题创建最好的正则表达式. 我有起始和结束分隔符的组合/集合,我需要在起始分隔符到结束分隔符之间获得所有子字符串/任何单词. 假设这个Delimeters表: 开始|结束 CAT |狗 APPLE |橙子 狮子会|斑马 熊猫|猫 样本输入:substring1 CAT substring2 substring3 DOG substring4 substring5 CAT substring6 APPLE substring7 substring 8 ORANGE ORANGE substring9 DOG substring10 PANDA substring11 CAT substring12 ...

java – 如何使用正则表达式计算元素相对于另一个元素的位置?【代码】

给定字符串// 1 2 3 String a = "letters.1223434.more_letters";我想知道在第一个点之后数字位于第二位 然后我想利用这些知识取代“第二位”// 1 2 3 String b = "someWords.otherwords.morewords";用“你好”来有效地制作// 1 2 3 String b = "someWords.hello.morewords";必须根据String a中匹配元素的原始位置进行替换 如何使用正则表达式来完成?解决方...

java – 没有任何顺序的一堆选择的正则表达式【代码】

我正在尝试创建一个JAVA正则表达式来测试是否设置了特定选项.目前我有[ks]?[zx]?[ap]?所以它是k,s或者什么都没有,然后是z,x或者没有,最后是a,p或者没有. 这个正则表达式的唯一问题是它只适用于这一个订单,但它应该适用于所有订单,因为kza,azk,zka,kaz,akz和zak做同样的事情.解决方法:钢铁般的自己 – 这个答案强化了正则表达式作为一种只写语言!^(([ks](?!.*[ks]))|([zx](?!.*[zx]))|([ap](?!.*[ap]))){0,3}$如果您将Groovy(或...

java – 可能的正则表达式回溯问题?【代码】

我有以下正则表达式和输入: http://regex101.com/r/cI3fG4 基本上,我想匹配最后一个“哟”并将所有内容保持为绿色(组(1)). 这适用于小文件/输入. 但是,如果我在java中对一个非常大的(100k)文件运行它,它没有模式匹配(只是一堆文本 – war& peace片段),尝试查找匹配可能需要10秒才能返回.我假设正则表达式回溯问题(特别是(.*)组(1)匹配). 我可以做些什么来防止每个用例的回溯并加速这个正则表达式以满足上述要求?– Java代码 –...