jjzjj

lookbehinds

全部标签

ruby - Ruby lookbehind 断言 (1.9/2.0) 中是否存在错误?

为什么正则表达式不(?匹配foo(而(?是)?"foo"=~/(?1"foo"=~/(?nil这似乎只在打开单行模式时发生(点匹配换行符);没有它,一切正常:"foo"=~/(?1"foo"=~/(?2在Ruby1.9.3和2.0.0上测试。SeeitonRubular编辑:更多观察:添加行尾anchor不会改变任何东西:"foo"=~/(?nil但是与惰性量词一起,它“有效”:"foo"=~/(?2编辑:还有一些观察结果:.+与其等价物一样工作{1,},但仅限于Ruby1.9(在这种情况下,这似乎是两者之间唯一的行为差异):"foo"=~/(?2"foo"=~/(?2在Ruby2.0

javascript - 正则表达式lookbehind javascript

我有这个正则表达式可以正确匹配我需要的一切(所有电子邮件地址不在链接内):/((?))/不幸的是,由于javascript不支持lookbehind,因此它无法在我的网络应用程序上运行。有解决方案吗? 最佳答案 根据定义,您必须向后看才能知道没有起始链接标记在电子邮件地址之前。你可以试试:匹配每个电子邮件地址,然后以编程方式验证电子邮件地址不在链接内或使用AJAX将数据发送到您的服务器,并让您的服务器执行正则表达式。 关于javascript-正则表达式lookbehindjavascr

Javascript/正则表达式 : Lookbehind Assertion is causing a "Invalid group" error

我正在做一个简单的LookbehindAssertion来获取URL的一部分(下面的示例),但我没有获得匹配,而是收到以下错误:UncaughtSyntaxError:Invalidregularexpression:/(?这是我正在运行的脚本:varurl=window.location.toString();url==http://my.domain.com/index.php/#!/write-stuff/something-else//lookbehindtoonlymatchthesegmentafterthehash-bang.varregex=/(?结果应该是write-

Javascript 正则表达式(负)lookbehind 在 firefox 中不起作用

我需要修改以下javascript正则表达式,因为其中的negativelookbehind会在firefox中引发错误:content=content.replace(/(?![^)(?:[\"])([^"]*?)(?)/g,'„$1“');有没有人有想法并且可以帮助我? 最佳答案 2020年7月1日更新从FireFox78版本开始,RegExp终于支持lookbehinds,dotAlls标志、Unicode转义序列和命名捕获,请参阅ReleaseNotes:NewRegExpengineinSpiderMonkey,addin

正则表达式 : lookbehind and lookahead and greediness problem

这应该很简单,但我是菜鸟,我一辈子也搞不懂。我正在尝试使用正则表达式来匹配特殊打开/关闭标签内的文本:[p2][/p2]所以在这段文字中:apple[p2]banana[/p2]grape[p2]lemon[/p2]它应该匹配“banana”和“lemon”。到目前为止,我使用的正则表达式是:(?但这太贪心了。它匹配以banana中的“b”开头,以lemon中的“n”结尾,匹配banana[/p2]grape[p2]lemon。我该如何搭配香蕉和柠檬? 最佳答案 应该这样做:(?我添加了问号以使量词成为非贪婪的。

java - regex negative lookbehind 正在执行正常的 lookbehind 或给出错误

我试图让正则表达式以负向后视的方式捕获一些数据,这样如果某个字符串在它前面,它就不会匹配。我知道有两种基本格式,但都不起作用。我在搜索应用程序中执行此操作,无法使用java进行扩充,因此解决方案必须完全使用正则表达式。这种格式给我一个错误,说“正则表达式语法错误:无效量词”(?此格式仅在Type前面有Product时执行正常的后视和捕获:(?!=Product)Type:(.*?)我做错了什么? 最佳答案 (?这应该做你想做的。您必须将空格括在方括号中[]它不会匹配:ProductType:xyz但它会匹配并捕获xyz:OtherT

php - 如何解决 PHP lookbehind 固定宽度限制?

我在尝试匹配页面上特定单词之间的所有数字时遇到了问题。你将如何匹配以下文本中的所有数字,但只匹配单词“begin”和“end”之间的数字?11ab13begint899y50fend91h这个有效:preg_match("/begin(.*?)end/s",$text,$out);preg_match_all("/[0-9]{1,}/",$out[1],$result);但是可以用一个表达式来完成吗?我试过了,但没用preg_match_all("/begin.*([0-9]{1,}).*end/s",$text,$out); 最佳答案

php - 在 Positive Lookbehind 之后匹配所有特定字符

整个上午我都在努力使正则表达式正确,但我碰壁了。在以下字符串中,我不想匹配.com/之后的每个正斜杠除了任何/在URL之后。$string="http://example.com/foo/12/jacketInput/Output";match------------------------^--^斜杠之间的单词长度无关紧要。正则表达式:(?结果:$string="http://example.com/foo/12/jacketInput/Output";//nomatch$string="http://example.com/f/12/jacketInput/Output";matc

ruby - 如何在 go 中使用 lookbehind 正则表达式?

我正在尝试将此ruby​​正则表达式转换为go。GROUP_CALL=/^(?[\t]*)group\(?[\t]*(?#{SYMBOLS})[\t]*\)?[\t]+do[\t]*?\n(?.*?)\n^\kend[\t]*$/m我把它转换成groupCall:=regexp.MustCompile("^(?P[\\t]*)group\\(?[\\t]*(?P(?::\\w+|:\"[^\"#]+\"|:'[^']+')([\\t]*,[\\t]*(?::\\w+|:\"[^\"#]+\"|:'[^']+'))*)[\\t]*\\)?[\\t]+do[\\t]*?\\n(?P.*?)

ruby - 如何在 go 中使用 lookbehind 正则表达式?

我正在尝试将此ruby​​正则表达式转换为go。GROUP_CALL=/^(?[\t]*)group\(?[\t]*(?#{SYMBOLS})[\t]*\)?[\t]+do[\t]*?\n(?.*?)\n^\kend[\t]*$/m我把它转换成groupCall:=regexp.MustCompile("^(?P[\\t]*)group\\(?[\\t]*(?P(?::\\w+|:\"[^\"#]+\"|:'[^']+')([\\t]*,[\\t]*(?::\\w+|:\"[^\"#]+\"|:'[^']+'))*)[\\t]*\\)?[\\t]+do[\\t]*?\\n(?P.*?)
12