求一个正则表达式

从一个非中文符到 有限公司 或有限责任公司 不超过20个汉字
必须全是汉字+括号(中英文括号均可,单决不允许英文,数字,标点符号,空格)### 题目描述

阅读 1.5k
2 个回答

/^[u4e00-u9fa5a-zA-Z0-9]+$/

不知道对不对先探探路

import re
s = "a@()()北()(京京京京京有限责任公司有限责任公司 lkajsldkj@^ald"
ss = "a@()()北()(京京京京京有限公司有限责任公司有限公司lkajsldkj@^ald"


def isChina(text):
    """
    判断是不是中文 用来切割文本
    :param text:
    :return: True or False
    """
    return all('\u4e00' <= char <= '\u9fff' for char in text)

def getChinaIndex(test):
    """
    获取当前中文索引
    :param test:
    :return:
    """
    for i in range(len(s)):
        if isChina(text=s[i]):
            return i

s_1 = s[ getChinaIndex(s):]
ss_1 = ss[getChinaIndex(ss):]

print(s_1)
print(ss_1)
a_1 = re.findall("[\u4e00-\u9fa5()()]+有限责任公司|有限公司",s_1)
a_2 = re.findall("[\u4e00-\u9fa5()()]+[有限责任公司\b|有限公司\b]",ss_1)
print(a_1)
print(a_2)

结果

北()(京京京京京有限责任公司有限责任公司 lkajsldkj@^ald
北()(京京京京京有限公司有限责任公司有限公司lkajsldkj@^ald
['北()(京京京京京有限责任公司有限责任公司']
['北()(京京京京京有限公司有限责任公司有限公司']
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题