我当然不是一个正则表达式的人,但通常我可以找到解决问题的方法。这个让我难过......
我需要匹配并替换具有可选前导空格的大于str(>>)的double。我知道这不起作用,但有些东西...... ...
/\s\s+[>>]/
但这显然不好。
非常感谢任何帮助。多年来,这个网站对我来说是一个令人惊叹的资源,我无法相信我现在只能到处发布一些内容,所以即使像我这样的傻瓜也能够在不打扰的情况下获益。人......直到现在:)提前致谢。
答案 0 :(得分:1)
对于>>在字符串内部和前导空格中,请尝试:
/(\s*)(>>){1}/
答案 1 :(得分:0)
如果您希望空间是可选的,那么您可以简单地执行此操作:
/>>/
您可以将其用作g
修饰符的替换模式:
str = str.replace(/>>/g, 'something')
如果你想检查一个字符串是>>可能之前有一些空间,然后使用
/^\s?>>$/
答案 2 :(得分:0)
这个正则表达式应该可行。
/\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"
答案 3 :(得分:0)
如果您希望它匹配无限量的前导空格字符:
/ *>>/
如果您希望它匹配0或1个前导空格字符:
/ ?>>/
答案 4 :(得分:0)
打破你的榜样:
\s
将匹配任何空格字符\s+
将匹配一个或多个空白字符[>>]
将匹配一个>
(请参阅下文详情)因此,您的表达式将与>
匹配,前面至少有两个空白字符。
如果您想匹配零或多,则必须使用*
; fex \s*
。
方括号用于表示字符集,并且将匹配集合中的任何字符; fex [abc]
将匹配a,b或c,但时间只匹配一个字符。
正则表达式中的单个字符将匹配该字符; fex >
将匹配一个大于号的符号。
将它们放在一起,我们为您的案例提供以下正则表达式:
/\s*>>/
答案 5 :(得分:0)
答案 6 :(得分:0)
使用它:
str.replace(/\s+>>/g, 'whatever');