我想在異常中使用正則表達式。RegEx表達式來處理多個打破句子的條件
因此它必須返回這些句子(前幾位都包含在字符串)假:
3.{17} this is italics and should break.{18}
4. this is another sentence and should break.
5. This is another sentence and should break.
而且它必須返回對於這些:
There are 2 reasons for this 1. you are here and 2. you are communicating.
Is it 2? they wanted to know.
1 digit at the beginning but with 1. with a period should return true.
換句話說,如果字符串的開頭是一個數字,後跟一個時期,它應該返回false(即使"\{\d+\}"
跟隨它可選),空格後面的字符無關緊要。如果數字和句號(或!
或?
)嵌入在句子中,後面跟着一個小寫字母,那麼它必須返回true,而在其他情況下,它必須是false。
作爲進一步的說明:這將進入一個java屬性文件,然後將該值傳遞給perl5正則表達式引擎以返回損壞的文本。
我嘗試在一個表達式中表達,但不知何故我無法正確表達。 這是想出了到現在爲止:
^([^0-9\.]+[\.]|
[^\.!\?]*[\?!]+[\?!\.]+|
[0-9]+[^\?!\.]+[\?!\.]+|
[^0-9]*[0-9]+[^\?!\.]+[\?!\.]+)
(\{\d+\}[\u0020\u00A0]|
[\u0020\u00A0]*)[a-z]
我似乎陷入僵局趕來,看不出有什麼是我錯了。
感謝您的任何建議。
更新: 與前瞻更簡單的格式:^(?!\d+\.)[^.!?]*[.!?]+(\{\d+\}\s|\s*)\p{Ll}
基礎上的意見。
句子中是否也有引號,並且'''後面總是有空格? –
@ l'l l - 沒有引號,並且在'.'或'!'或'?'後面有空格我修正了樣品 – ib11
我不明白這個問題。樣本字符串可以用'^ \ D'來匹配。 – melpomene