python - 匹配字符和空格,但不匹配数字

标签 python regex

我正在尝试创建一个正则表达式来匹配字符、空格,但不匹配数字。

因此 hello 123 不会匹配,但 hell o 会匹配。

我尝试过这个:

[^\d\w]

但是,我找不到在这里添加空格的方法。我必须使用 \w,因为我的字符串可以包含 Unicode 字符。

最佳答案

简介

尚不清楚 characters 到底指的是什么,但是,假设您指的是字母字符(基于您的输入),这个正则表达式应该适合您。

<小时/>

代码

See regex in use here

^(?:(?!\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/

相关文章:

python - 如何删除shutil.rmtree中未使用的函数参数

php - 在 PHP 中使用正则表达式查找并替换 "["和,或 "]"

Java正则表达式删除字符 'i'和 ':'之间的所有内容

Python:如何使用 BeautifulSoup 从 HTML 页面中提取 URL?

python - Pylint - 如何打印 Pylint 的 sys.path?

python - 使用 curvefit 拟合双曲函数和调和函数

python - 为什么 Python 代码需要这么长时间才能找到数据集中的近点?

regex - Perl 正则表达式 : replace all backslashes with double-backslashes

java - 如何忽略文本中的值?

javascript - 搜索标点符号并将标点符号放在单词的开头