Javascript正则表达式I';我正在与
我承认我不是一个雷杰克斯人,但通常我能找到解决问题的办法。这件事让我很难堪 我需要匹配并替换具有可选前导空格的双精度大于str(>>)。我知道这不管用,但有点像Javascript正则表达式I';我正在与,javascript,regex,string-matching,Javascript,Regex,String Matching,我承认我不是一个雷杰克斯人,但通常我能找到解决问题的办法。这件事让我很难堪 我需要匹配并替换具有可选前导空格的双精度大于str(>>)。我知道这不管用,但有点像 /\s\s+[>>]/ 但这显然不好 非常感谢您的帮助。多年来,这个网站对我来说是一个惊人的资源,我不敢相信我现在只想发布一些东西,所以它表明,即使是像我这样的傻瓜也能够从中受益,而不会打扰人们。。。到目前为止:)提前谢谢。如果您希望空间是可选的,那么您只需执行以下操作: />>/ 您可以将其用作带有g修饰符
/\s\s+[>>]/
但这显然不好
非常感谢您的帮助。多年来,这个网站对我来说是一个惊人的资源,我不敢相信我现在只想发布一些东西,所以它表明,即使是像我这样的傻瓜也能够从中受益,而不会打扰人们。。。到目前为止:)提前谢谢。如果您希望空间是可选的,那么您只需执行以下操作:
/>>/
您可以将其用作带有g
修饰符的替换图案:
str = str.replace(/>>/g, 'something')
如果要检查字符串是否为>>且之前可能有一些空格,请使用
/^\s?>>$/
如果希望空间是可选的,则可以简单地执行以下操作:
/>>/
您可以将其用作带有g
修饰符的替换图案:
str = str.replace(/>>/g, 'something')
如果要检查字符串是否为>>且之前可能有一些空格,请使用
/^\s?>>$/
这个正则表达式应该可以工作
/\s*[>]{2}/
这更干净
/\s*>>/
测试:
var pattern = /\s*>>/;
s1 = " >>";
s2 = ">>";
s3 = ">> surrounding text";
s4 = "surrounding >> text";
s5 = "surrounding>>text";
s1.match(pattern);
[" >>"]
s2.match(pattern);
[">>"]
s3.match(pattern);
[">>"]
s4.match(pattern);
[" >>"]
s5.match(pattern);
[">>"]
替换示例
var pattern = /\s*>>/;
var s6 = " >> surrounding text";
s6.replace(pattern, ">");
"> surrounding text"
这个正则表达式应该可以工作
/\s*[>]{2}/
这更干净
/\s*>>/
测试:
var pattern = /\s*>>/;
s1 = " >>";
s2 = ">>";
s3 = ">> surrounding text";
s4 = "surrounding >> text";
s5 = "surrounding>>text";
s1.match(pattern);
[" >>"]
s2.match(pattern);
[">>"]
s3.match(pattern);
[">>"]
s4.match(pattern);
[" >>"]
s5.match(pattern);
[">>"]
替换示例
var pattern = /\s*>>/;
var s6 = " >> surrounding text";
s6.replace(pattern, ">");
"> surrounding text"
对于>>字符串内部和前导空格,请尝试:
/(\s*)(>>){1}/
对于>>字符串内部和前导空格,请尝试:
/(\s*)(>>){1}/
如果希望它匹配无限数量的前导空格字符:
/ *>>/
如果希望它匹配0或1个前导空格字符:
/ ?>>/
如果希望它匹配无限数量的前导空格字符:
/ *>>/
如果希望它匹配0或1个前导空格字符:
/ ?>>/
分解你的例子:
\s
将匹配任何空白字符\s+
将匹配一个或多个空白字符[>>]
将匹配一个
(请参阅下面的详细信息)
如果要匹配零或更多,则必须使用*
;fex\s*
方括号用于表示字符集,并将与集合中的任何字符匹配;fex[abc]
将匹配a、b或c,但一次仅匹配一个字符
正则表达式中的单个字符将与该字符匹配;fex
将匹配一个大于号
将其放在一起,我们得到了适用于您的案例的以下正则表达式:
/\s*>>/
分解你的例子:
\s
将匹配任何空白字符\s+
将匹配一个或多个空白字符[>>]
将匹配一个
(请参阅下面的详细信息)
如果要匹配零或更多,则必须使用*
;fex\s*
方括号用于表示字符集,并将与集合中的任何字符匹配;fex[abc]
将匹配a、b或c,但一次仅匹配一个字符
正则表达式中的单个字符将与该字符匹配;fex
将匹配一个大于号
将其放在一起,我们得到了适用于您的案例的以下正则表达式:
/\s*>>/
这应该适用于可选空间
/\s{0,}>>/g
访问此项以测试匹配项。此项应适用于可选空格
/\s{0,}>>/g
访问此项以测试匹配项。使用此项:
str.replace(/\s+>>/g, 'whatever');
使用以下命令:
str.replace(/\s+>>/g, 'whatever');
是否希望它在找到>>的情况下替换可选的前导空格?是否希望它在找到>>的情况下替换可选的前导空格?还是仅为简单字符串替换
'>'>'
replaces@WouterJ如果要进行多个替换,必须使用正则表达式:myString.replace(/>>/g',)
oh?我认为g
修饰符只在匹配中有用,而不是在替换中有用。(在PHP中,默认情况下,所有替换都是全局的)多亏了dystroy--/\s?>>$/最终成为了赢家(没有插入符号,因为模式可能没有明确位于字符串的开头)。现在就开始测试,似乎工作得完美无缺。非常感谢。或者只对简单字符串使用'>'
replaces@WouterJ如果要进行多个替换,必须使用正则表达式:myString.replace(/>>/g',)
oh?我认为g
修饰符只在匹配中有用,而不是在替换中有用。(在PHP中,默认情况下,所有替换都是全局的)多亏了dystroy--/\s?>>$/最终成为了赢家(没有插入符号,因为模式可能没有明确位于字符串的开头)。现在就开始测试,似乎工作得完美无缺。非常感谢。或者只是>>
。或者只是>
。你可以只使用/>>/但我猜上面的正则表达式使替换工作更容易。你可以只使用/>>/但我猜上面的正则表达式使替换工作更容易。+
表示一个或多个,使用?
表示零或一。+
表示一个或多个,使用?
表示零或一。