我正在尝试创建一个正则表达式来匹配字符、空格,但不匹配数字。
因此 hello 123
不会匹配,但 hell o
会匹配。
我尝试过这个:
[^\d\w]
但是,我找不到在这里添加空格的方法。我必须使用 \w
,因为我的字符串可以包含 Unicode 字符。
最佳答案
简介
尚不清楚 characters 到底指的是什么,但是,假设您指的是字母字符(基于您的输入),这个正则表达式应该适合您。
<小时/>代码
^(?:(?!\d)[\w ])+$
注意:此正则表达式使用 mu
标志表示多行和 Unicode(仅当输入由换行符分隔时才需要多行)
结果
输入
ÀÇÆ some words
ÀÇÆ some words 123
输出
这只显示匹配
ÀÇÆ some words
<小时/>
说明
^
断言位置位于行首(?:(?!\d)[\w ])+
匹配以下一次或多次 ( tempered greedy token )(?!\d)
负向前视确保后面的内容与数字不匹配。如果您想确保不使用_
,您可以将其更改为(?![\d_])
。[\w ]
匹配任何单词字符或空格(与带有u
标志的 Unicode 单词字符匹配)`
$
断言位置位于行尾
关于python - 匹配字符和空格,但不匹配数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47311681/