Questions tagged «regex-group»

正则表达式组是通过将正则表达式的一部分放在括号内来创建的。组允许对整个组应用量词或将替换限制为正则表达式的一部分。除了将正则表达式的一部分分组在一起,括号还创建了一个编号捕获组。它在括号内存储与正则表达式部分匹配的字符串部分。


3
命名正则表达式组“(?P <group_name> regexp)”:“ P”代表什么?
在Python中,该(?P&lt;group_name&gt;…) 语法允许人们通过其名称引用匹配的字符串: &gt;&gt;&gt; import re &gt;&gt;&gt; match = re.search('(?P&lt;name&gt;.*) (?P&lt;phone&gt;.*)', 'John 123456') &gt;&gt;&gt; match.group('name') 'John' “ P”代表什么?我在官方文档中找不到任何提示。 我很想获得有关如何帮助我的学生记住该语法的想法。知道“ P”代表(或可能代表)什么会很有用。

30
RegEx用于匹配英国邮政编码
我正在使用一个正则表达式,它将仅在输入字符串内验证完整的复杂英国邮政编码。所有不常见的邮政编码形式都必须像往常一样覆盖。例如: 火柴 CW3 9SS SE5 0EG SE50EG se5 0eg WC2H 7LT 没有比赛 aWC2H 7LT WC2H 7LTa WC2H 我该如何解决这个问题?

1
python re.sub组:\ number之后的数字
如何替换foobar为foo123bar? 这不起作用: &gt;&gt;&gt; re.sub(r'(foo)', r'\1123', 'foobar') 'J3bar' 这有效: &gt;&gt;&gt; re.sub(r'(foo)', r'\1hi', 'foobar') 'foohibar' 我认为,遇到时,这是一个普遍的问题\number。谁能给我一个关于如何处理的提示?

1
RegEx使用RegExp.exec从字符串中提取所有匹配项
我正在尝试解析以下类型的字符串: [key:"val" key2:"val2"] 里面有任意键:“ val”对。我想获取键名和值。对于那些好奇的人,我想解析任务战士的数据库格式。 这是我的测试字符串: [description:"aoeu" uuid:"123sth"] 这是要强调的是,除了空格之外,任何其他内容都可以位于键或值中,冒号周围没有空格,并且值始终用双引号引起来。 在节点中,这是我的输出: [deuteronomy][gatlin][~]$ node &gt; var re = /^\[(?:(.+?):"(.+?)"\s*)+\]$/g &gt; re.exec('[description:"aoeu" uuid:"123sth"]'); [ '[description:"aoeu" uuid:"123sth"]', 'uuid', '123sth', index: 0, input: '[description:"aoeu" uuid:"123sth"]' ] 而且description:"aoeu"也符合这种模式。我如何找回所有比赛?


4
我可以在正则表达式中使用OR而不捕获其中包含的内容吗?
我正在使用rubular.com构建我的正则表达式,其文档描述了以下内容: (...) Capture everything enclosed (a|b) a or b 如何使用OR表达式而不捕获其中的内容?例如,假设我要捕获“ ac”或“ bc”。我不能使用正则表达式 (a|b)(c) 对?从那时起,我在一个组中捕获了“ a”或“ b”,而在另一组中捕获了“ c”,但并不相同。我知道我可以过滤捕获的结果,但这似乎需要更多工作... 我缺少明显的东西吗?如果相关的话,我正在Java中使用它。

2
Python Regex立即替换组
有没有办法使用正则表达式语法直接替换所有组? 正常方式: re.match(r"(?:aaa)(_bbb)", string1).group(1) 但我想实现以下目标: re.match(r"(\d.*?)\s(\d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)") 我想从正则表达式刚刚捕获的组中立即构建新字符串。

7
我可以替换Java正则表达式中的组吗?
我有这段代码,我想知道是否可以替换Java正则表达式中的仅组(不是所有模式)。码: //... Pattern p = Pattern.compile("(\\d).*(\\d)"); String input = "6 example input 4"; Matcher m = p.matcher(input); if (m.find()) { //Now I want replace group one ( (\\d) ) with number //and group two (too (\\d) ) with 1, but I don't know how. }

6
如何捕获多个重复的组?
我需要捕获相同模式的多个组。假设我有以下字符串: HELLO,THERE,WORLD 我写了一个下面的模式 ^(?:([A-Z]+),?)+$ 我想要做的是捕获每个单词,这样第1组是:“ HELLO”,第2组是“ THERE”,第3组是“ WORLD”。我的正则表达式实际上仅捕获了最后一个,即“世界”。 我在这里测试我的正则表达式,我想将它与Swift一起使用(也许Swift中有一种方法可以某种方式获取中间结果,以便我可以使用它们?) 更新:我不想使用split。我现在只需要如何捕获与模式匹配的所有组,而不仅仅是最后一个。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.