我想寫一個正則表達式將所有大寫單詞轉換爲小寫,同時排除大寫羅馬數字轉換。grep大寫單詞到小寫,而不包括羅馬數字
我發現的唯一方法是將所有大寫單詞後跟空格,逗號或句點以及連字符轉換爲小寫。然後將所有羅馬數字轉換爲大寫。
我用這個要轉換爲小寫:
(\u+[ ,.-])
然後我不得不通過查找和替換所有可疑的羅馬數字。
什麼是更好的方法來做到這一點?我嘗試了沒有運氣的負面預測表達式,但我在寫作時並不強大。
我正在測試的樣本是美國憲法。這裏的輸入樣本:
WE,美國人民,爲了形成更加完善的 結合,樹立正義,保障國內的安寧,爲 共同的國防,增進全民福利併爲自己和我們的後代確保自由的祝福 ,併爲本美利堅合衆國制定本憲法並制定 。
第I條。
Sect。 1.在此授予的所有立法權力應由聯合國大會組成,該大會由參議院和衆議院組成。
Sect。 2.衆議院 由 幾個國家的所有人每兩年選出的成員組成,每個州的選民必須具有 國家立法機構最多的分支的選舉人所需的資格 。任何人不得成爲代表,其不應當是未滿25歲,並且已有7年 年的美國公民,並且當選時 不應當是該州的居民他將被選中。第二部分:第一部分第二部分第三部分第四部分第四部分
第五條。
第六條。
問題 - 正則表達式支持lookaround,特別是負向lookahead嗎? – 2012-02-14 02:48:29
@ mathematical.coffee這適用於已記錄[支持]的InDesign CS5.5(http://help.adobe.com/en_US/indesign/cs/using/WS1952D538-1335-4b1d-BA5E-FA5A176FDC9Fa.html )在正則表達式引擎中。 – jeffrbauer 2012-02-14 02:55:32