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+.+$
字符串的开头^
负向前看,断言右边不是1+位,后面是0+倍的空白字符和字符串结尾(?!\d+\s*$)
匹配一个数字的1+倍和任何字符的1+倍\d++
字符串的结尾$
这是因为
+
至少需要一个字符。你能从给出的示例中准确指出哪些行需要匹配吗?所以我应该使用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));