capturing-group相关内容
re.sub('a(b)','d','abc') 产生 dc,而不是 adc. 为什么re.sub要替换整个捕获组,而不是只替换捕获组'(b)'? 解决方案 因为它应该替换整个模式: 返回通过替换 repl 替换 string 中最左边不重叠的模式所获得的字符串. 如果只替换某些子组,那么包含多个组的复杂正则表达式将不起作用.有几种可能的解决方案: 完整指定模式:r
..
我有一个单词列表: bau中欧丢四高 我想把那个列表变成: byau循环丢你焦 我尝试命令失败: :%s/(\w)(\w\w)/\1y\2/g 鉴于这不起作用,我需要更改什么才能使正则表达式捕获组在 Vim 中工作? 解决方案 解决这个问题的一种方法是确保模式用转义括号括起来: :%s/\(\w\)\(\w\w\)/\1y\2/g 使用 \v 稍微短一些(和更多 magic
..
我有以下两种不同语言的正则表达式,它们产生相同的奇怪结果(javaScript 和 Flash).我想知道的不是如何修复它,而是为什么会发生这种行为? 正则表达式: \[(\\{2}|\\\]|[^\]])*\] 这里的目标是匹配括号中的字符串,并确保我不会在转义括号处停止. 如果我有文本输入 [abcdefg] 它是正确匹配的,但作为捕获组的一部分返回的唯一内容是 g,正如我所期
..
我希望这行 JavaScript: "foo bar baz".match(/^(\s*\w+)+$/) 返回如下内容: ["foo bar baz", "foo", " bar", " baz"] 但它只返回最后捕获的匹配项: ["foo bar baz", " baz"] 有没有办法获取所有捕获的匹配项? 解决方案 当你重复一个捕获组时,在大多数风格中,只保留最后一个捕获;
..
非捕获组,即 (?:),如何在正则表达式中使用,它们有什么用? 解决方案 让我试着用一个例子来解释这个. 考虑以下文本: http://stackoverflow.com/https://stackoverflow.com/questions/tagged/regex 现在,如果我将下面的正则表达式应用于它...... (https?|ftp)://([^/\r\n]+)(/[
..
我正在尝试在 SQL Server 2008 R2 Management Studio 中执行查找和替换操作并使用组捕获,以便我可以回参考替换中的组.我从 this 了解到 SSMS 使用 Visual Studio 2005 正则表达式引擎.这是我所拥有的示例: SELECT First FROM Table1从表 2 中选择第二个从表 3 中选择第三个 这是我的“查找"表达式: SELE
..
这是一系列教育正则表达式文章的第二部分.它展示了如何使用前瞻和嵌套引用来匹配非常规语言 anbn.嵌套引用首先在:这个正则表达式如何找到三角形数? 典型的非常规语言之一是: L = { anbn: n >0 } 这是所有非空字符串的语言,由一定数量的 a 和等量的 b 组成.这种语言中的字符串示例有 ab、aabb、aaabbb. 这种语言可以通过抽引引理显示为非常规语言.
..
我的 urls.py 中具有以下正则表达式(regex),我想知道它的含义.特别是正则表达式的(?P 部分. r'^ category/(?P [-\ w] +)/$ 解决方案 (?P regex)-圆括号将正则表达式分组.它们捕获其中正则表达式匹配的文本,这些文本可以用尖括号之间的名称引用.名称可以由字母和数
..
我需要将以下内容转换为:“ foo_bar_baz_2” 到“ fooBarBaz2” 我正在尝试使用此模式: 模式pattern = Pattern.compile(“ _ ([az])“); Matcher matcher = pattern.matcher(“ foo_bar_baz_2”); 是否可以使用 matcher 进行替换捕获的组中的第一个捕获组(
..
作为介绍性注释,我知道有关解决regex问题的古老说法,也了解使用RegEx处理XML的预防措施。但是请耐心片刻... 我正在尝试进行RegEx搜索并替换一组字符。我事先不知道该组的匹配频率,但是我只想在特定的上下文中进行搜索。 示例: 如果我有以下字符串“ ** ab ** df ** ab ** sdf ** ab ** fdsa ** ab ** bb“ ,我想搜索” ab“
..
我正在用Java写一些简单的(我认为是)正则表达式,以删除星号或“&”号,该星号或“&”号直接出现在某些标点符号旁边。 $ b String ptr =“ \\s * [\\ *&] + \\s *”; 字符串punct1 =“ [,; = \\ {} \\ [\\] \\)]”; //需要两个,因为括号的规则对于ptr左右 String punct2 =“ [,; = \\ {} \\
..
假设我们输入以下内容: (bob) | \((\w +) b) 现在我们得到了两个匹配项(如在ularular.com上看到的): 是匹配项, \1 捕获 amy , \2 失败 (bob)是匹配项, \2 捕获 bob , \1 失
..
我正在尝试挑战: https: //regex.alf.nu/4 我要匹配所有不包含ABBA模式的字符串。 匹配项: 美学生理学 两性的 巴利雅 拟态 不匹配 厌食症 野牛 绒囊尿 球菌 abba 首先,我有一个正则表达式来确定ABBA模式。 (\w)(\ \w)\2\1 接下来,我想匹配不包含该字符串的
..
我正在编写一套RegExps,以将CSS选择器转换为ID和类的数组。 例如,我希望将“#foo#bar”返回['foo','bar']。 我一直在尝试使用 “#foo#bar” .match(/((??#)[a-zA-Z0-9\ -_] *)/ g) ,但是当非捕获前缀?:忽略#字符时,它将返回['#foo','#bar']。 有没有比切片每个返回的字
..
Vim帮助说: \1匹配与* / \1 * * E65 * \(和\)中的第一个子表达式。 {Vi无此功能} 示例:“ \([az] \).\1”匹配“ ata”,“ ehe”,“ tot”等。 看起来 backreference 可以用于搜索模式。我开始玩它,发现无法解释的行为。这是我的文件: 一
..
尽管此问题与JFlex有关,但它可能也适用于其他扫描仪生成器,例如lex,flex。 如果我有规则,该如何创建捕获规则中一部分的捕获组,并使用捕获组的结果作为规则匹配时调用的代码的参数? 例如,我有一个简单的规则来匹配SGML标签: “ ” {return new Token(Type.OPEN_TAG);} 如何捕获内部字符部分(
..
这就是我正在做的事情 a =“%span.rockets#diamonds.ribbons.forever” a = a.match(/(^^%\w +)([\。| \#] \w +)+ /) 放入a.inspect 这就是我得到的 #
..
在HTML页面中,我删除了这样的HTML注释 $ contentHTML = preg_replace(“#(?=< ;! -)([[\s\S] *?)->#“,”“,$ contentHTML); 但是在 preg_replace 的一页上,我收到“ PHP致命错误:允许的内存大小... ” 也许,一种解决方法是使用不匹配的组来避免捕获文字? 有人可
..
我在代码中使用python正则表达式( re 模块),并注意到在这些情况下的不同行为: re.findall(r'\s *(?:[az] \))?[^。)] +','a)xyz。 b)abc。')#非捕获组 #结果为['a)xyz','b)abc'] 和 re.findall(r'\s *(?
..
使用 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
..