Regex 忽略空行[\t\s]空格或制表符 我有一个正则表达式:

Regex 忽略空行[\t\s]空格或制表符 我有一个正则表达式:,regex,regex-lookarounds,regex-greedy,Regex,Regex Lookarounds,Regex Greedy,我基本上是,试着忽略所有的行号,后面跟空格,或者什么都没有。我当前的正则表达式:^[\d\s].+(?:[A-Z\s]*)*$ 行号后面不带任何内容实际上不会被忽略 您的正则表达式只匹配1位数字,请使用以下内容更改: 您可以使用负前瞻来断言以下内容不是1+位后跟0+倍的空白字符: ^(?!\d+\s*$)\d+.+$ ^字符串的开头 (?!\d+\s*$)负向前看,断言右边不是1+位,后面是0+倍的空白字符和字符串结尾 \d++匹配一个数字的1+倍和任何字符的1+倍 $字符串的结尾 见|

我基本上是,试着忽略所有的行号,后面跟空格,或者什么都没有。我当前的正则表达式:
^[\d\s].+(?:[A-Z\s]*)*$


行号后面不带任何内容实际上不会被忽略

您的正则表达式只匹配1位数字,请使用以下内容更改:


您可以使用负前瞻来断言以下内容不是1+位后跟0+倍的空白字符:

^(?!\d+\s*$)\d+.+$
  • ^
    字符串的开头
  • (?!\d+\s*$)
    负向前看,断言右边不是1+位,后面是0+倍的空白字符和字符串结尾
  • \d++
    匹配一个数字的1+倍和任何字符的1+倍
  • $
    字符串的结尾
见|

示例使用:

当数字后面有一个点时,您可以使用:


这是因为
+
至少需要一个字符。你能从给出的示例中准确指出哪些行需要匹配吗?所以我应该使用OR或其他什么吗?@jensgram,请看:-这是正确的,但我想扩展,以便忽略后面没有任何其他新字符集的数字行,字符串第13行和第11行仍然匹配,尽管这两行后面都是NULL或空字符串。@约翰史密斯您在数字后面添加了一个点。是的,这是因为原始内容就是这样。那我怎么才能用圆点捕捉呢?你是说这样<代码>^(?!\d+\.\s*$)\d++$是的,确实是配偶。
^(?!\d+\s*$)\d+.+$
import re
regex = r"^(?!\d+\s*$)\d+.+$"
test_str = ("Here goes some text. {tag} A wonderful day. It's soon cristmas.\n"
    "2 Happy 2019, soon. {Some useful tag!} Something else goes here.\n"
    "3 Happy ending. Yeppe! See you.\n"
    "4\n"
    "5 Happy KKK!\n"
    "6 Happy B-Day!\n"
    "7\n"
    "8 Universe is cool!\n"
    "9\n"
    "10 {Tagish}.\n"
    "11\n"
    "12 {Slugish}. Here goes another line. {Slugish} since this is a new sentence.\n"
    "13\n"
    "14 endline.")
print(re.findall(regex, test_str, re.MULTILINE));