字母/数字字符、空格和破折号的正则表达式

2024-10-06 12:08:37 发布

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

我需要一些帮助来写一些复杂的正则表达式,这是我的头。你知道吗

第一个正则表达式,我想排除除之外的所有

  • 大写和小写字母A到Z
  • 单个空格
  • 单破折号(-)

对于第二种情况,我希望与上面相同,但也允许:

  • 数字0到9
  • 撇号(')
  • 问号(?)你知道吗
  • 感叹号(!)你知道吗
  • 冒号和分号(:&;;)
  • 句点/句号和逗号(。&;,)

作为一个补充,有没有任何在线生成器,我可以键入一个允许的字符列表,将生成一个给我?你知道吗

非常感谢。你知道吗


Tags: 键入情况数字字符amp空格逗号大写
1条回答
网友
1楼 · 发布于 2024-10-06 12:08:37

为了满足“单一”要求,您需要一个lookeahead,大致如下:

r1 = r"""(?xi)
    ^
    (
        [a-z]+          
        |               
        \x20(?!\x20)    
        |               
        -(?!-)          
    )
    +
    $
"""

\x20(?!\x20)读取“一个空格,如果后面没有另一个空格”。你知道吗

对于第二个re,只需向第一个组添加额外的字符:[a-z0-9&+ etc]。你知道吗

相关问题 更多 >