我已经努力了两天才能使它正常工作,但我做不到(对正则表达式:S太糟糕了)。
${test}[arg]
从本文中,我需要检索两个不同的东西:test
和arg
。为此,我创建了此正则表达式:
(\$\{(\b[a-zA-Z0-9.]+\b)\})(\[(.+)\])?
在该示例中,它可以工作。但是,如果我尝试其他文本:${test}[arg1] - ${test2}[arg2]
,则只会得到一个包含2个分组的匹配:test
和arg1] - ${test2}[arg2
,而不是获得2个不同的匹配:一个具有分组test
和arg1
,另一个具有分组test2
和arg2
。
我希望你能帮助我。
提前致谢。
这是为什么.+
组合可能是邪恶的经典html" target="_blank">示例。请改用否定字符集:
(\$\{(\b[a-zA-Z0-9]+\b)\})(\[([^]]+)\])
^^^
您可以在这里尝试。
比较两个表达式的行为:
贪婪地搭配任何东西。对于第二个匹配,正则表达式会贪婪地匹配任何东西。它会匹配所有内容,直到到达字符串末尾为止,然后必须回溯直到找到]
。一旦找到a ]
,它就会停止,因此最终将您[arg1] - ${test2}[arg2]
作为匹配项。
匹配除以外的任何内容]
。这里的正则表达式匹配的不是a的任何内容]
,因此在每一步都要检查下一个是否为a ]
。对于第二场比赛,您可以看到,一旦找到]
,它就会停止。
我一直在研究requirement,需要在以下字符串上创建正则表达式: 该字符串可以有以下多种变体: 在上面的表达式中是一个键名,可以是endDate、updateDate等。这意味着我们不能在表达式中硬编码它。尽管 我使用以下编译模式 模式匹配,但创建的组不是我期望的。我希望下面用括号包围该组: 你能帮我在Java和小组中正确表达吗?
假设我有这个虚拟URL,我需要提取植物及其颜色作为 下面的I have正在按预期捕获我需要的元素,但是当我的URL中的植物少于4株时,它无法捕获任何东西。底部有一个指向regex测试员的链接,其中有示例代码和URL,您可以使用。 如何修改这个正则表达式,使其动态工作,从而在不需要静态URL结构的情况下捕获可用内容。现在,假设我最多只能捕获4株植物(8组) https://regex101.com/
问题内容: 我正在尝试使用Java expr在:之后捕获正确的部分,但是在以下代码中,打印的捕获组是整个字符串,怎么了? 问题答案: 子组的编号从1开始,全文为0。只需循环执行count + 1。
在Python中,如何在非捕获组中捕获组?换句话说,如何重复包含捕获组的非捕获子模式? 例如,捕获导入字符串上的所有包名。例如,字符串: 导入熊猫、操作系统、系统 将返回“pandas”、“os”和“sys”。下面的模式捕获第一个包并到达第二个包: 从这里,我想重复捕获组并匹配以下字符的子模式,即。当我用一个非捕获组包围这个子模式并重复它时: 它不再捕捉里面的群体。
我已经为名称验证创建了一个正则表达式,其中只允许“_”、“-”、“'”、“.”。 以下是正则表达式: 问题是这是其允许的名称有< code>@,检查小提琴演示: 应为:不应允许包含< code>@的名称。 注意:当我在https://regex101.com/#javascript测试这个正则表达式时,它运行良好
我试图捕捉两个最接近的短语之间的文本,包括这些短语,但消极的展望似乎在我的情况下不起作用。 因此,这是文本文件的一部分: 我需要捕捉每一对<代码> 我的正则表达式是: