capturing-group相关内容

为什么 re.sub 替换整个模式,而不仅仅是其中的一个捕获组?

re.sub('a(b)','d','abc') 产生 dc,而不是 adc. 为什么re.sub要替换整个捕获组,而不是只替换捕获组'(b)'? 解决方案 因为它应该替换整个模式: 返回通过替换 repl 替换 string 中最左边不重叠的模式所获得的字符串. 如果只替换某些子组,那么包含多个组的复杂正则表达式将不起作用.有几种可能的解决方案: 完整指定模式:r ..
发布时间:2021-12-25 09:07:27 Python

Vim 正则表达式捕获组 [bau ->byau : ceu ->cyeu]

我有一个单词列表: bau中欧丢四高 我想把那个列表变成: byau循环丢你焦 我尝试命令失败: :%s/(\w)(\w\w)/\1y\2/g 鉴于这不起作用,我需要更改什么才能使正则表达式捕获组在 Vim 中工作? 解决方案 解决这个问题的一种方法是确保模式用转义括号括起来: :%s/\(\w\)\(\w\w\)/\1y\2/g 使用 \v 稍微短一些(和更多 magic ..
发布时间:2021-12-24 08:25:32 其他开发

正则表达式仅捕获匹配中捕获组的最后一个实例

我有以下两种不同语言的正则表达式,它们产生相同的奇怪结果(javaScript 和 Flash).我想知道的不是如何修复它,而是为什么会发生这种行为? 正则表达式: \[(\\{2}|\\\]|[^\]])*\] 这里的目标是匹配括号中的字符串,并确保我不会在转义括号处停止. 如果我有文本输入 [abcdefg] 它是正确匹配的,但作为捕获组的一部分返回的唯一内容是 g,正如我所期 ..

什么是正则表达式中的非捕获组?

非捕获组,即 (?:),如何在正则表达式中使用,它们有什么用? 解决方案 让我试着用一个例子来解释这个. 考虑以下文本: http://stackoverflow.com/https://stackoverflow.com/questions/tagged/regex 现在,如果我将下面的正则表达式应用于它...... (https?|ftp)://([^/\r\n]+)(/[ ..
发布时间:2021-12-02 23:06:08 其他开发

使用正则表达式、组捕获和反向引用查找和替换

我正在尝试在 SQL Server 2008 R2 Management Studio 中执行查找和替换操作并使用组捕获,以便我可以回参考替换中的组.我从 this 了解到 SSMS 使用 Visual Studio 2005 正则表达式引擎.这是我所拥有的示例: SELECT First FROM Table1从表 2 中选择第二个从表 3 中选择第三个 这是我的“查找"表达式: SELE ..
发布时间:2021-07-07 19:32:49 其他开发

我们如何匹配 a^n b^n?

这是一系列教育正则表达式文章的第二部分.它展示了如何使用前瞻和嵌套引用来匹配非常规语言 anbn.嵌套引用首先在:这个正则表达式如何找到三角形数? 典型的非常规语言之一是: L = { anbn: n >0 } 这是所有非空字符串的语言,由一定数量的 a 和等量的 b 组成.这种语言中的字符串示例有 ab、aabb、aaabbb. 这种语言可以通过抽引引理显示为非常规语言. ..

这个Django正则表达式是什么意思?`?P`

我的 urls.py 中具有以下正则表达式(regex),我想知道它的含义.特别是正则表达式的(?P 部分. r'^ category/(?P [-\ w] +)/$ 解决方案 (?P regex)-圆括号将正则表达式分组.它们捕获其中正则表达式匹配的文本,这些文本可以用尖括号之间的名称引用.名称可以由字母和数 ..
发布时间:2021-05-01 18:48:30 Python

替换所有捕获的组

我需要将以下内容转换为:“ foo_bar_baz_2” 到“ fooBarBaz2” 我正在尝试使用此模式: 模式pattern = Pattern.compile(“ _ ([az])“); Matcher matcher = pattern.matcher(“ foo_bar_baz_2”); 是否可以使用 matcher 进行替换捕获的组中的第一个捕获组( ..
发布时间:2020-06-07 19:18:16 Java开发

Java正则表达式:当事先不知道捕获组的编号时,如何在特定上下文中向后引用捕获组

作为介绍性注释,我知道有关解决regex问题的古老说法,也了解使用RegEx处理XML的预防措施。但是请耐心片刻... 我正在尝试进行RegEx搜索并替换一组字符。我事先不知道该组的匹配频率,但是我只想在特定的上下文中进行搜索。 示例: 如果我有以下字符串“ ** ab ** df ** ab ** sdf ** ab ** fdsa ** ab ** bb“ ,我想搜索” ab“ ..
发布时间:2020-06-07 19:18:14 Java开发

尽管matches()为真,但是正则表达式捕获组仍无法识别group(1)

我正在用Java写一些简单的(我认为是)正则表达式,以删除星号或“&”号,该星号或“&”号直接出现在某些标点符号旁边。 $ b String ptr =“ \\s * [\\ *&] + \\s *”; 字符串punct1 =“ [,; = \\ {} \\ [\\] \\)]”; //需要两个,因为括号的规则对于ptr左右 String punct2 =“ [,; = \\ {} \\ ..
发布时间:2020-06-07 19:18:12 Java开发

Javascript RegExp非捕获组

我正在编写一套RegExps,以将CSS选择器转换为ID和类的数组。 例如,我希望将“#foo#bar”返回['foo','bar']。 我一直在尝试使用 “#foo#bar” .match(/((??#)[a-zA-Z0-9\ -_] *)/ g) ,但是当非捕获前缀?:忽略#字符时,它将返回['#foo','#bar']。 有没有比切片每个返回的字 ..
发布时间:2020-06-07 19:18:03 前端开发

如何在JFlex中使用正则表达式捕获组?

尽管此问题与JFlex有关,但它可能也适用于其他扫描仪生成器,例如lex,flex。 如果我有规则,该如何创建捕获规则中一部分的捕获组,并使用捕获组的结果作为规则匹配时调用的代码的参数? 例如,我有一个简单的规则来匹配SGML标签: “ ” {return new Token(Type.OPEN_TAG);} 如何捕获内部字符部分( ..
发布时间:2020-06-07 19:17:58 其他开发

PHP如何将preg-groups设置为“ non-capture” (?:...)

在HTML页面中,我删除了这样的HTML注释 $ contentHTML = preg_replace(“#(?=< ;! -)([[\s\S] *?)->#“,”“,$ contentHTML); 但是在 preg_replace 的一页上,我收到“ PHP致命错误:允许的内存大小... ” 也许,一种解决方法是使用不匹配的组来避免捕获文字? 有人可 ..
发布时间:2020-06-07 19:17:54 PHP

正则表达式无法捕获所有组

使用 java.util.regex (jdk 1.6),正则表达式 201210(\d {5,5})Test 20121000002Test 的code>仅捕获 group(0)而不捕获 group(1)(模式 00002 ),如下代码所示: 模式p1 = Pattern.compile(“ 201210(\\d {5,5})Test”); Matcher m1 = p1.matche ..
发布时间:2020-06-07 19:17:49 Java开发