问题内容: 我正在用Java编写程序以接受查询。如果我有类似的查询 …我可以使用什么正则表达式将其转换为: …要么: 实际上,我想知道如何编写正则表达式以仅删除方括号内的空格。 问题答案: 假设括号正确平衡且没有嵌套括号,则以下内容将删除括号内(且仅在括号内)的所有空格: 它转变 进入 说明:
问题内容: 尝试为罗马数字编写正则表达式匹配器。在sed中(我认为这是正则表达式的“标准”吗?),如果您有多个由交替运算符分隔的选项,则它将与最长的匹配。即,将“ IV”匹配为“ IV”,将“ III”匹配为“ III” 在Java中,相同的模式将“ IV”的“ I”和“ III”的“ I”匹配。事实证明Java在从左到右的交替匹配之间进行选择;也就是说,因为正则表达式中的“ I”出现在“ III
问题内容: 我的理解是Java的正则表达式实现是基于Perl的。但是,在下面的示例中,如果我使用相同的字符串执行相同的regex,则Java和Perl返回不同的结果。 这是Java示例: 返回值:不匹配 这是Perl的示例: 返回:匹配项 对我来说,Perl的结果很有意义。它寻找单个单词字符的匹配项。我不明白为什么Java不认为这是一个匹配。差异的原因是什么? 问题答案: Java 方法正在测试正
问题内容: 这就是我正在做的事(简化示例): 我试图把所有不以开头的行放在前面。这是错误: 怎么了? 问题答案: 据我所知,既没有前瞻性,也没有落后。切换到具有类似语法的更强大的语言,例如。
问题内容: 我想多次匹配某些模式,就像这里描述的一样。 例如,这将匹配: 但是,以上代码在pcre中有效,在java中不起作用。它在(?1)上给我一个错误“未封闭的期权组” 有什么办法吗?我有一个很长的正则表达式模式,如果可能的话,我不想重复2次。 问题答案: 在查阅Java文档时,他们仍然不遵循PCRE子例程准则。Java Regex基本上不支持子例程。 另请参见JavaRegex手册
问题内容: 如果我有一个类似“ 11E12C108N”的字符串,该字符串是字母组和数字组的串联,那么如何在没有分隔符的情况下拆分它们? 例如,我希望得到的拆分为: 我现在有这个。 这给了我: 我可以一次完成原始正则表达式的完全分割吗?不必在中间令牌上再次运行正则表达式? 问题答案: 使用以下正则表达式,并获取所有匹配项的列表。那就是您要寻找的。 在Java中,我认为代码如下所示:
问题内容: 在一个应用程序中,我得到了包含IP地址的字符串,但是这些字符串没有精确的格式。我们所知道的是,这些字符串可能包含IP地址。 这是字符串的示例: “ XPSPort” “ IP_10.29.167.187” “ 10.29.166.193” 我想获得一个Java代码,如果有一个Java代码,则提取该字符串的IP地址;如果该字符串不包含IP地址,则返回“”。 我尝试了这段代码,但它不起作用
问题内容: 仅使用正则表达式方法,方法String.replaceAll和ArrayList如何将字符串拆分为标记,但忽略引号内存在的定界符?分隔符是非字母数字或带引号的文本的任何字符 例如:字符串: 你好^世界’这*有两个令牌’ 应该输出: 你好 worldthis *有两个令牌 问题答案: 使用a 来标识要保留的部分,而不是要拆分的部分: 看到它在线上工作:ideone
问题内容: 我正在尝试这样做: 我收到这种字符串 然后,我必须在该字符串(日期格式)中找到一个或多个日期: 最后我必须将匹配的日期复制到另一个字符串: PD:我正在使用此网站测试是否可行。我尝试了一些网站 正则表达式 ,有人为我工作。 问题答案: 您可以将日期的有效性与提取的内容分开。 要提取日期: 在小提琴上查看此处:http : //fiddle.re/fa0bf 码: 给,
问题内容: 我想提取所有 用 大括号括起来的 单词 ,所以我有一个这样的表达式 匹配的字符串可能包含任意多个这样的单词,但是我开始认为我正在以错误的方式解决此问题。 我的尝试 而且我尝试将花括号这些词提取为组,以便可以使用每一个匹配项。所以,我做了一个正则表达式: 注意:我使用的是JRegex语法,因此我需要避免掉一些curl。 结果 我得到的结果是一个(虽然是正确的)比赛,而我希望有两个比赛和。
问题内容: 我正在将库从Ruby移植到Go,并且刚刚发现Ruby中的正则表达式与Go(google RE2)不兼容。引起我注意的是Ruby&Java(以及其他语言使用PCRE正则表达式(与perl兼容,支持捕获组)),因此我需要重新编写表达式,以便它们可以在Go中编译。 例如,我有以下正则表达式: 这应该接受输入,例如: 捕获组允许将年,月和日捕获为变量。要获得每个小组的价值,这很容易;您只需用组
问题内容: 我试图返回一个数组或切片,针对字符串针对特定正则表达式的所有匹配项。字符串是: 我想返回一个花括号之间所有字符串都匹配的数组。我尝试使用regexp软件包来完成此操作,但无法弄清楚如何返回我要查找的内容。这是我当前的代码: 但是,无论我尝试什么,每次返回的结果都是一片空白。 问题答案: 首先,您不需要正则表达式定界符。其次,使用原始字符串文字定义一个正则表达式模式是个好主意,您只需要使
问题内容: 我在数据库中有一些域列表,例如 等等 我需要的是 我怎样才能做到正则表达式??? 问题答案: 在中,正则表达式可以匹配,但不能返回子字符串。 您可以使用: ,但是它不是协议前缀安全的。 如果您混合使用前缀和无前缀,请使用以下命令:
问题内容: 我一直认为,Java的regex-API(以及与此相关的许多其他语言)中的后置断言必须具有明显的长度。因此,STAR和PLUS量词在内部回顾中是不允许的。 优秀的在线资源regular-expressions.info似乎证实了我的一些假设: “ […] Java通过允许有限重复而向前迈进了一步。你仍然不能使用星号或加号,但是可以使用问号和花括号以及指定的max参数。Java认识到有限
问题内容: 我正在尝试用比Java regex语法更简单的通配符来匹配用户输入。假设有一个通配符A。然后,用户将输入输入字符串: 并将“ test”与搜索字符串匹配: 为此,我将搜索字符串中的通配符字符串替换为,因此我可以将通配符与常规正则表达式的捕获组进行匹配。但是,我仍然希望转义特殊字符。如果我使用引号,则正则表达式将不再起作用,因为带有正则表达式含义的字符()也被引用了: 是否有一种内置的方