[英]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. 我需要一个正则表达式来匹配INT或INT或INT,以拆分字符串,该字符串还可以包含类似的单词,例如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.