這正則表達式是接近我想要的:正則表達式半可選
(?i)(?<=\b(subject|title):?)[^:].+?$
我有這方面的例子:
subject:water front condo
subject: water front condo
subject water front condo
subjectwater front condo
與我目前的正則表達式,所有示例返回water front condo
。
我不希望最後一個例子匹配。如果:
不存在,我如何需要空間?
我在.NET 4.0版上。
結束於(?i)(?<= \ b(subject | title | re:)(:| \ s))。+?$。我比以前更加努力了。我需要向後看不要捕捉。 – Paparazzi
你可以通過在開頭添加一個'?:'來捕獲一個組,如下所示:'(?i)(?:\ b(subject | title | re:)(:| \ s))。+? $'。 –
你們兩個正在談論不同類型的捕捉。 Blam正在討論整個正則表達式捕獲匹配的任何內容,捕獲組0。acheong87正在討論捕獲'()'中的正則表達式的部分 - 捕獲組1,2,等等。這兩種方法都可以工作,但需要略有不同代碼來提取匹配。在這種情況下,我認爲acheong87的方法會更容易。 –