Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript正则表达式I';我正在与_Javascript_Regex_String Matching - Fatal编程技术网

Javascript正则表达式I';我正在与

Javascript正则表达式I';我正在与,javascript,regex,string-matching,Javascript,Regex,String Matching,我承认我不是一个雷杰克斯人,但通常我能找到解决问题的办法。这件事让我很难堪 我需要匹配并替换具有可选前导空格的双精度大于str(>>)。我知道这不管用,但有点像 /\s\s+[>>]/ 但这显然不好 非常感谢您的帮助。多年来,这个网站对我来说是一个惊人的资源,我不敢相信我现在只想发布一些东西,所以它表明,即使是像我这样的傻瓜也能够从中受益,而不会打扰人们。。。到目前为止:)提前谢谢。如果您希望空间是可选的,那么您只需执行以下操作: />>/ 您可以将其用作带有g修饰符

我承认我不是一个雷杰克斯人,但通常我能找到解决问题的办法。这件事让我很难堪

我需要匹配并替换具有可选前导空格的双精度大于str(>>)。我知道这不管用,但有点像

/\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?>>$/最终成为了赢家(没有插入符号,因为模式可能没有明确位于字符串的开头)。现在就开始测试,似乎工作得完美无缺。非常感谢。或者只是
    >>
    。或者只是
    >
    。你可以只使用/>>/但我猜上面的正则表达式使替换工作更容易。你可以只使用/>>/但我猜上面的正则表达式使替换工作更容易。
    +
    表示一个或多个,使用
    表示零或一。
    +
    表示一个或多个,使用
    表示零或一。