2012-08-13 83 views
0

請考慮下面的示例字符串:
「是否有可能培育協調和建設和平?」我想匹配令牌協調匹配跨越多條線的標記

喜歡的東西"""(?m)\b[^\s]*\-$"""比賽recon-"""(?m)\b[^\s]*\-$^[^\s]*\b"""不匹配reconc-iliation

回答

1

這將工作

\b(\S+-[\r\n]+\S+)\b 

UPDATE

^ - >匹配線的開始/或串的開始(取決於使用s開關)

$ - >匹配行結尾/或字符串結尾(取決於使用s開關)

\b - >相匹配的單詞邊界

\r - >回車

\n - >新線

僅適用於Windows同時使用\r\n作爲行分隔符。

+0

好的,那很簡單...謝謝 雖然,我不知道\ r \ n是否有效,爲什麼他們有$,^,?m ...我們是否通過使用\ r \ n失去任何通用性? – 2012-08-13 04:22:39

+0

'^'和'$'不匹配任何字符 - 它們匹配字符串開頭/結尾的空字符串。 *?m *用於改變'^'和'$'的默認行爲,從字符串的開始/結尾匹配到行開始/結尾處的匹配。但它們仍然匹配空字符串,因此它們與'[\ r \ n]'不一樣。 – 2012-08-13 04:46:39

+0

@HarshalPandya:看我的更新/ – Cylian 2012-08-13 04:48:42