我試圖在我學校的新聞網站(運行WordPress)上使用PHP中的正則表達式。想法是,無論何時有人保存帖子,「Regis」的所有實例(最後沒有'Jesuit')都被替換爲「Regis Jesuit」。 (我去瑞吉斯耶穌會高中,他們挑剔他們的品牌)。總體而言,這正常工作與以下不區分大小寫的正則表達式:匹配不帶引號的字符串
/regis(?! jesuit)/i
我將如何修改這個正則表達式,所以如果找到字符串不匹配的「吉斯」或「瑞吉」(單次或雙引號) ? (甚至「我也去瑞吉斯高中」)?這裏的想法是在必要時對其進行更改,但要將其與人的故事中的直接引用保持一致,這樣我們就不會改變人們的報價。
謝謝! Morgan Morgan
您將要遇到的問題是匹配引號對。 「我去了瑞吉斯高中,」最近Regis的研究生John Integer說,「但是我還沒有我的瑞吉斯明礬卡。」「要告訴任何正則表達式解析器,案件不在兩個引號之間。此外,由於AP樣式需要引號來開始段落引用*,但如果後續段落是引用*的延續,則不會結束它,所以確實非常棘手。 – Robusto 2010-07-26 14:13:21
另外,假設所有人都知道或關心正確的引用,或者他們使用* only *單引號或雙引號,並且永遠不會忘記關閉引號,這太「樂觀」了。 *另外:你不想改變「引用」的文字。東西人在文本字段中輸入**是被引用的文本,不管他們在帖子中是否引用了其他人。考慮一下。* – Tomalak 2010-07-26 14:19:12
哦,在我忘記之前:假設「裏吉斯」永遠不會成爲別的什麼比你的學校是短視的,至少可以說。做一個谷歌搜索「雷吉斯」,並驚訝於它可能意味着多少不同的事情。 – Tomalak 2010-07-26 14:21:58