Regex 锚定正则表达式和非锚定正则表达式之间的区别是什么?

Regex 锚定正则表达式和非锚定正则表达式之间的区别是什么?,regex,Regex,锚定正则表达式和非锚定正则表达式之间的区别是什么 用法: 。。。应将其指定为配对列表,其中第一个元素是平台名称与之匹配的非锚定regex(在java.util.regex.Pattern语法中) Unanchored regex表示没有锚定的regex模式,^表示字符串的开头,而$表示字符串的结尾,因此允许部分匹配。例如,在Java中,Matcher#find()方法可以搜索输入字符串中的部分匹配,“a.c”将在“1.0 abc”中找到匹配项。。锚定的“^a.c$”模式将匹配“abc”字符串,但

锚定正则表达式和非锚定正则表达式之间的区别是什么

用法:

。。。应将其指定为配对列表,其中第一个元素是平台名称与之匹配的非锚定regex(在java.util.regex.Pattern语法中)

Unanchored regex表示没有锚定的regex模式,
^
表示字符串的开头,而
$
表示字符串的结尾,因此允许部分匹配。例如,在Java中,
Matcher#find()
方法可以搜索输入字符串中的部分匹配,
“a.c”
将在
“1.0 abc”中找到匹配项。
。锚定的
“^a.c$”
模式将匹配
“abc”
字符串,但在
“1.0 abc.”
中找不到匹配项

此外,未编排的正则表达式可能意味着处理正则表达式模式的代码不会检查匹配是否等于完整的输入字符串。例如,在Java中,
Matcher#matches()
方法要求模式必须匹配完整的输入字符串,并且
s.matches(“a.c”)
将匹配
“abc”
字符串,但在
“1.0 abc”中找不到匹配项。

锚定正则表达式意味着只有整个字符串匹配时,模式才会匹配字符串


有关正则表达式中锚的更多信息,请参阅。

BTW,Scala示例可能更具说明性(请参阅)<代码>“模式”。r.archored或
“模式”。r.unharchored
对于
“模式”
字符串的行为会有所不同。