Solo Caret vs. Caret贪婪的可选角色

时间:2016-07-22 21:47:19

标签: regex

在正则表达式中仅使用^^.*进行比较有什么区别?

单独似乎^可以是一个有效的模式(而不仅仅是一个锚)。

JSFiddle上的测试结果: - https://jsfiddle.net/wLvx0mus/4/

2 个答案:

答案 0 :(得分:1)

假设您使用它作为字符串字符的开头,一个匹配字符串的开头,另一个代表从字符串开头开始的任何类型的0个或多个字符

作为替代,第一个将有效地预先替换您的替换值,而另一个将替换所有替换值。

但是,如果您在字符类中使用^,则可能是否定匹配标记(例如[^.*]应表示任何不是文字.或{的字符{1}})。在任何情况下,如果不知道如何在您的案例中使用它的背景,就很难提供有用的答案。另外,请提供您正在使用的正则表达式风格。语法上的差异会产生很大的影响。

答案 1 :(得分:1)

是的,/^/是一种有效的模式。它将匹配它所应用的任何字符串,因此它对搜索,验证或提取文本没有好处,但它对替换有用:

result = subject.replace(/^/mg, "gronk");

这会将gronk添加到每行的开头。鉴于此:

result = subject.replace(/^.*/mg, "gronk");

...将用gronk替换每一行的内容。