正则表达式,如何匹配某个字符,但必须与其他字符存在?

2024-09-27 01:26:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做的是实现一个简单的自动定位工具,该工具将检查所有的汉字,并替换为一些键。你知道吗

有一些规则:

  1. 匹配的文本必须介于""之间
  2. 匹配的文本必须包含中文,其Unicode范围为[\u4e00-\u9fff]
  3. 匹配的文本可以包含字母、数字或标点符号,让我们简化为可以包含[a-z]
  4. 他们的命令没有限制

假设"我很nice""你好"匹配,但是"hello"不匹配。你知道吗

那么,如何用python编写regex来实现这一点呢?你知道吗

ur'"([\u2000-\u206f\u3000-\u303f\u4e00-\u9fff\ufb00-\ufffd\w]*[\u4e00-\u9fff]+[\u2000-\u206f\u3000-\u303f\u4e00-\u9fff\ufb00-\ufffd\w]*)"'会算数的。你知道吗


Tags: 工具定位文本规则字母unicode数字u4e00
2条回答

如果要匹配包含任何汉字的任何文本,可以对已编译的regex对象使用search(..)方法。你知道吗

import re

words = ["我很nice", "我n很i你c好e", "你好", "hello", "好", "abcd", "ㄱㄴ"]

regexp = re.compile(r'[\u4e00-\u9fff]')

for word in words:
    if regexp.search(word):
        print(word)

# prints:
# 我很nice
# 我n很i你c好e
# 你好
# 好

你可以这样写正则表达式-

"\w*[\u4e00-\u9fff]+[\u4e00-\u9fff\w]*"

相关问题 更多 >

    热门问题