什么是单词和数字的正则表达式,它们之间没有空格

时间:2017-05-26 23:17:54

标签: regex

我需要帮助建立匹配

的正则表达式
words2005
more words2005
more words 2005here

但不是

words 2005
more words 2005
more words 2005 here

基本上我正在寻找人们没有在他们的单词和数字之间放置空格的情况。

例如,我在文本中搜索I was born in 1990 near Hong Kong等短语。有时人们会输入错误的内容,最终会显示为I was born in 1990near Hong KongI was born in1990 near Hong Kong。我只是想找到那些实例,以便我可以修复它们。

2 个答案:

答案 0 :(得分:1)

只需匹配一个字母后跟一个数字,或一个数字后跟一个字母:

[a-zA-Z]\d|\d[a-zA-Z]

答案 1 :(得分:1)

要获得包含字母和数字的任何单词,您可以使用:

[A-Za-z]+\d+|\d+[A-Za-z]+

Regex101 Demo

// Will match completely:
words2005
1990near

// Will only match parts of 
9gag9
f4f

<强>替代:

如果要求匹配包含至少一个字母和至少一个数字的字母数字字符串,那么这将是一个更好的正则表达式:

(?:[A-Za-z]+\d+|\d+[A-Za-z]+)[A-Za-z\d]*

Regex101 Demo

// Completely matches 
9gag9
f4f
text929number123