给定一个字符串,我想使用正则表达式来标记它。模式如下:任何字符(包括新行等),直到“<”,后跟空格零或更多次,后跟“%”。 我试过了
var patt = /(.)*<(\s)*%/;
但它没有产生预期的结果。我很感激与模式一起解释。
答案 0 :(得分:0)
使用此:
"some string".split(/.*<\s*%/);
答案 1 :(得分:0)
/^[\s\S]*?< *%/
应该做你想做的事。
^
使其在字符串的开头匹配。
[\s\S]
匹配任何字符。从字面上看,它意味着任何空间或非空间角色,并解决.
与换行符不匹配的事实。
*?
匹配零或更多,但其余模式匹配所需的最少。
<
匹配文字'<
'
*
(注意空格)匹配零个或多个空格。如果写成[ ]*
,则更具可读性。
%
最终匹配该角色。
如果你想匹配整个字符串(即%
应该是字符串中的最后一个字符),那么你可以在$
之前放置一个/
。