嗨我知道字符*
用于匹配前面的字符零次或多次,这是问题,这里的零时间是什么意思。例如:script[\s]*
如果是这样的话,它是如何工作的,它会单独阻止脚本还是阻止脚本后跟空格。
答案 0 :(得分:2)
*
,+
和?
修饰符应用于它们之前的表达式,因此在这种情况下,星号仅应用于[\s]
。如果您想将其应用于script[\s]
,则可以在整个表达式周围添加括号:(script[\s])*
。如果您想阻止制作捕获组,请使用(?:)
,如下所示:
(?:script[\s])*
答案 1 :(得分:0)
在Regexr.com上查看in action。
一些注意事项:
\s
[]
包裹script\s*
:\s
答案 2 :(得分:0)
方括号表示字符类,\s
表示“空格字符”(即,
\t
等)。因此,此处*
将应用于[\s]
表达式,整个正则表达式表示“匹配script
后跟零个或多个空格字符”。
答案 3 :(得分:0)
你展示的正则表达式将起作用:
1)从字面上匹配字符'script'
2)匹配单个字符“空白字符”(空格,换行符等)
2.1)尽可能多次
所以它会匹配单个'script'以及'script_ _ '(任意数量的空格)
答案 4 :(得分:0)
这里的零时间是什么意思?
与其他地方相同。
例如,“我戳了你一次”意味着我根本没有戳你。
或者“我戳了你一次或多次”意味着我没有戳你,或者我戳了一次,或两次或者......
示例:脚本[\ s] *如果是这样的话,它是如何工作的,它会单独阻止脚本还是阻止脚本后跟空格。
正则表达式匹配 "script"
或"script "
或"script "
,依此类推。