正则表达式: /^(\d )[^_]/gm
测试字符串: 12_34
我希望这个正则表达式在测试字符串上不匹配,因为 \d
贪婪地吃掉数字 1
和 2
,而 [^_]
在 _
上失败。
但是它出乎意料地与Group1中的只有1
匹配。我错在哪里?
我试图找到一个正则表达式,它与测试字符串“12”或“12xx”中的数字匹配,但与“12_xx”不匹配
示例:https://regex101.com/r/0QRTjs/1/
方言:最后我将使用Microsoft System.Text.RegularExpressions。
< code>\d 能够减少匹配的数量,如果这导致总的匹配。通过回溯,然后<代码> 2
满足[^_]
的匹配,并且<代码> 1
被捕获。
看这里
你可以在比赛开始时使用消极的前瞻:
/^(?!\d+_)(\d+)/
看这里
或者,您可以使用不允许回溯的原子组:
/^((?>\d+))(?:[^_]|$)/
看这里
或者使用不允许回溯的所有格量词:
/^\d++([^_]|$)/
看这里
所有格量词可能是最快的…
\d
将与一个或多个数字匹配。
由于您附加了 [^_]
,因此它后面只能跟一个非 _
字符。
因此 \d
不能匹配 12
,因为它后面跟着 _
。
1
是第一个匹配组,因为它后面跟着 2,而 2
不是 _
。
如果您只想匹配带数字的行,有一个非常简单的表达式:
^(\d+)$
贪婪 vs 不贪婪 当重复一个正则表达式时,如用 a*,操作结果是尽可能多地匹配模式。当你试着匹配一对对称的定界符,如 HTML 标志中的尖括号时这个事实经常困扰你。匹配单个 HTML 标志的模式不能正常工作,因为 .* 的本质是“贪婪”的 #!python >>> s = '<html><head><title>Title</title>' >>> len(s) 32 >>> print re.
本文向大家介绍贪婪算法相关面试题,主要包含被问及贪婪算法时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。贪婪算法所得到的结果往往不是最优的结果(有时候会是最优解),但是都是相对近似(接近)最优解的结果。贪婪算法并没有固定的算法解决框架,算法的关键是贪婪策
你知道我错过了什么吗?
我正在使用wedriveri o 4.5: 我需要等到某个元素存在,如果它不存在,处理这种情况。 例如: 但如果页面上不存在元素,webdriver会将我的测试标记为失败,并显示消息:“超时10000毫秒。”。尝试减少运行时间或增加测试规格的超时时间(http://webdriver.io/guide/testrunner/timeouts.html); 如果回复promise,确保其得到解决 >
本文向大家介绍什么是正则的贪婪匹配?相关面试题,主要包含被问及什么是正则的贪婪匹配?时的应答技巧和注意事项,需要的朋友参考一下 匹配一个字符串没有节制,能匹配多少就去匹配多少,知道没有匹配的为止
有人有线索为什么它对案件2不起作用吗?非常感谢你的帮助。编辑:案例2的预期结果是6130美元。我好像得到了6090美元。