化學公式這個問題可能不是一個特定的編程問題,但我試圖找到化學公式像H20,C02等在scientic文本和我用這個:如何找到與正則表達式
(?<=[\l\u]|\.)\d+
這作品 - 但現在也發現'點'後的每個浮點數:
0.1234 -> 1234 is selected.
是否有機會防止這種情況?提前致謝!
化學公式這個問題可能不是一個特定的編程問題,但我試圖找到化學公式像H20,C02等在scientic文本和我用這個:如何找到與正則表達式
(?<=[\l\u]|\.)\d+
這作品 - 但現在也發現'點'後的每個浮點數:
0.1234 -> 1234 is selected.
是否有機會防止這種情況?提前致謝!
您還可能包括negative lookbehind防止以數字在前點前:
(?<=[\l\u.])(?<!\d\.)\d+
它看起來像這樣的作品!在我接受之前,我會給它更多的測試,但是謝謝! – Rockbot 2013-03-13 20:39:40
如果你想也匹配像H2O
字符串,CH3CH2CH2CH3
,SiO2
你可以使用:
(?i)\b[a-z]+(?:\d+[a-z]+)*\b
或
\b(?:[A-Z][a-z]?)+(?:\d+(?:[A-Z][a-z]?)+)*\b
也許從t中刪除點他向後看? – Bergi 2013-03-13 20:25:06
你究竟想要匹配什麼? SMILES格式化的字符串?你能提供一些例子嗎? – woemler 2013-03-13 20:25:31
只是像H20或SO2的化學公式,請參閱編輯:) – Rockbot 2013-03-13 20:36:26