所以我正在学习正则表达式,并在这里尝试练习:https://regex.sketchengine.co.uk/cgi/ex4.cgi我想不通,为什么这个正则表达式是不工作
特别是,我已经能够匹配在左边的每一行(不匹配权的任何线),除了以下行:
mess! He did not let it
我知道这一定是一个可怕的答案,但这里是我有:
^[mbadhi][^n]..[^W]([a-zA-Z'") ]+[.!?][a-zA-Z'") ]+)
我不明白(除了为什么它不起作用),当我删除[^ n]内的'n'时,它匹配句子(也是右边的一部分)。我必须错过一些非常重要的东西,因为我的理解是,^ [mbadhi]应该匹配以这些字母之一开头的任何行的第一个字符,然后再匹配任何不是字母'n'的第二个字母。乱七八糟的'我'应该匹配,不是吗?
FYI这个工程:' (['',()\ w \ n] | \。\。\。)+($ | [。?!])' – Bohemian
我会用'[az] [...。?!] [»''' })\]] \ S + [AZ]'。问题在于你对'[^ n]'的理解是错误的:它匹配'l','5','§','%'等。** **除了'n' **之外的任何字符**。 –
@WiktorStribiżew,这是我的意图[^ n]。假设我对这个问题的理解是正确的(它不是......我应该匹配整个句子,而不仅仅是行),[^ n]是为了排除右侧的第一行(第二个字符是' n'),而不会影响左侧的任何行。 –