Regex 正则表达式只允许字母数字
我正在尝试用正则表达式执行以下操作Regex 正则表达式只允许字母数字,regex,Regex,我正在尝试用正则表达式执行以下操作 只有A-Z和0-9 它本身没有一个字符 不能只是数字本身 只能是字母本身,但至少有2个字符 到目前为止我有这个 这似乎符合我的标准,但它并没有阻止我加入其他角色,如$!!等等 给出了一些正确的试验数据 579 International Road International Road 679 3 $£ A 一些不正确的数据是 579 International Road International Road 679 3 $£ A 我哪里出错了?*匹
- 只有A-Z和0-9
- 它本身没有一个字符
- 不能只是数字本身
- 只能是字母本身,但至少有2个字符
579 International Road
International Road
679
3
$£
A
一些不正确的数据是
579 International Road
International Road
679
3
$£
A
我哪里出错了?*
匹配任何东西,但看起来这并不是你想要的。另外,您不需要+
,因为X{n,}
至少已经意味着X
次了。最后,您忘记了0-9
部分。所以看起来这样就可以了:
[a-zA-Z0-9]{2,}
一些正则表达式风格将[a-zA-Z0-9]
作为预定义的字符类。例如,在Java中它是\p{Alnum}
如果您还想留出空间(根据您的测试数据),请使用\s
:
(?:\s*[a-zA-Z0-9]{2,}\s*)*
对于alpha number您的示例没有测试数据……这对我的测试数据不起作用,我已经用此更新了原始帖子data@fightstarr20看起来您还需要留出空间。看到编辑了。是的,刚刚发现了,没有空间!这项功能现在运行得更好,但仍然允许数字独立。另外,现在空间被视为character@fightstarr20好了,我开始理解这些要求了。尝试编辑。