-6

嗨,我知道该字符*用于匹配前面的字符零次或多次,这是问题,这里的零次是什么意思。示例:script[\s]*如果是这种情况,它是如何工作的,它会单独阻止脚本还是会阻止脚本后跟空格。

4

5 回答 5

2

、和修饰符应用于紧接在它们之前的表达式,因此在这种情况下,星号仅*应用于。如果您想将其应用于,您可以在整个表达式周围加上括号:。如果您想阻止创建捕获组,请使用,如下所示:+?[\s]script[\s](script[\s])*(?:)

(?:script[\s])*
于 2012-08-23T12:56:40.223 回答
0

在 Regexr.com 上查看它的实际应用。

一些注意事项:

于 2012-08-23T12:58:41.493 回答
0

方括号表示一个字符类,\s表示“空格字符”(即\t等)。所以这里*将应用于[\s]表达式,整个正则表达式的意思是“匹配script后跟零个或多个空格字符”。

于 2012-08-23T12:58:45.937 回答
0

您展示的正则表达式的工作方式如下:

1) 从字面上匹配字符“脚本”

2) 匹配“空白字符”的单个字符(空格、换行符等)

2.1) 尽可能多的次数

所以它将匹配单个'script'以及'script_ _ '(任意数量的空格)

于 2012-08-23T13:01:36.847 回答
0

这里的零时间是什么意思?

和其他地方的意思一样。

例如,“我戳了你零次”意味着我根本没有戳你。

或者“我戳了你零次或多次”意味着我没有戳你,或者我戳了你一次,两次或......

示例: script[\s]* 如果是这种情况,它是如何工作的,它会单独阻止脚本还是阻止脚本后跟空白。

正则表达式将匹配 "script"or "script "or"script "等​​等。

于 2012-08-23T14:54:43.830 回答