简体   繁体   English

Javascript正则表达式匹配“ int”

[英]Javascript regex to match 'int'

I need a regex to match INT or INT, or INT , to split a String, the String could also contain similar words like INTEGER, INT444, INTEGER2, etc. but they should be ignored. 我需要一个正则表达式来匹配INTINTINT,以拆分字符串,该字符串还可以包含类似的单词,例如INTEGER,INT444,INTEGER2等,但应将其忽略。

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

The regex only matches INT, (INT + comma) and INT , (INT + space + comma) but not INT (only the word INT). 正则表达式只匹配INT(INT +逗号)和INT(INT +空格+逗号),但不INT(只有两个字INT)。
Any help? 有什么帮助吗?

You mean this? 你是这个意思?

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

That's called forward lookahead, more about it here: http://www.javascriptkit.com/javatutors/redev2.shtml 这就是所谓的前瞻性,请点击此处了解更多信息: http : //www.javascriptkit.com/javatutors/redev2.shtml

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

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

How about : 怎么样 :

/INT\b\s*,?/

on your example, it gives : 在您的示例中,它给出:

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

Probably you are looking for word boundaries \\b 可能您正在寻找单词边界\\b

\bINT\b

\\b will match the boundary between a character included in \\w and other characters. \\b将匹配\\w包含的字符与其他字符之间的边界。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM