在正则表达式中仅使用^
与^.*
进行比较有什么区别?
单独似乎^
可以是一个有效的模式(而不仅仅是一个锚)。
JSFiddle上的测试结果: - https://jsfiddle.net/wLvx0mus/4/
答案 0 :(得分:1)
假设您使用它作为字符串字符的开头,一个匹配字符串的开头,另一个代表从字符串开头开始的任何类型的0个或多个字符
作为替代,第一个将有效地预先替换您的替换值,而另一个将替换所有替换值。
但是,如果您在字符类中使用^
,则可能是否定匹配标记(例如[^.*]
应表示任何不是文字.
或{的字符{1}})。在任何情况下,如果不知道如何在您的案例中使用它的背景,就很难提供有用的答案。另外,请提供您正在使用的正则表达式风格。语法上的差异会产生很大的影响。
答案 1 :(得分:1)
是的,/^/
是一种有效的模式。它将匹配它所应用的任何字符串,因此它对搜索,验证或提取文本没有好处,但它对替换有用:
result = subject.replace(/^/mg, "gronk");
这会将gronk
添加到每行的开头。鉴于此:
result = subject.replace(/^.*/mg, "gronk");
...将用gronk
替换每一行的内容。