【问题标题】:Javascript regex to match 'int'Javascript正则表达式匹配'int'
【发布时间】:2011-05-19 12:54:17
【问题描述】:

我需要一个正则表达式来匹配 INTINT,INT , 来拆分字符串,字符串也可以包含类似的单词,例如INTEGER、INT444、INTEGER2 等,但应忽略它们。

var str = 'INTEGER INT, INTEGER2 INT , TEST INT';
str = str.split(/INT[\,\)\s]*[^A-Za-z0-0]/gi);

正则表达式仅匹配 INT, (INT + comma) 和 INT, (INT + space + comma) 但不匹配 INT (仅INT 一词)。
有什么帮助吗?

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    你是说这个吗?

    var str = 'INTEGER INT, INTEGER2 INT , TEST INT';
    str = str.split(/INT(?=(?: ?,|$))/gi); // ["INTEGER ", ", INTEGER2 ", " , TEST ", ""]
    

    这称为前瞻,更多信息请参见:http://www.javascriptkit.com/javatutors/redev2.shtml

    【讨论】:

    • 最后一个元素必须是' TEST '
    【解决方案2】:

    我不确定我是否理解你的问题,但我认为这就是你所要求的。

    INT,|INT |INT(?![A-Za-z0-9])
    

    【讨论】:

      【解决方案3】:

      怎么样:

      /INT\b\s*,?/
      

      在你的例子中,它给出了:

      ["INTEGER ", " INTEGER2 ", " TEST "]
      

      【讨论】:

        【解决方案4】:

        您可能正在寻找单词边界\b

        \bINT\b
        

        \b 将匹配\w 中包含的字符与其他字符之间的边界。

        【讨论】:

          猜你喜欢
          • 2011-11-29
          • 2012-09-22
          • 1970-01-01
          • 1970-01-01
          • 2011-02-19
          • 2017-03-04
          相关资源
          最近更新 更多