假设我希望将以下内容与正则表达式匹配:
Convert 2g of NaOH into moles.
Convert 3.2 grams of Chlorine into mol.
How many moles are in 67 g of Sodium Chloride?
434 mol of Sodium to Grams.
要求是:
g
/ grams
和 mol
/ moles
都需要出现在字符串molecules
这样较长的单词的一部分。我如何使用单个正则表达式匹配所有4个案例?
到目前为止,我已经尝试过这个:
~'mol|g|Grams/g
但它也符合以下条款:
32 mol
gravity of molecule
答案 0 :(得分:1)
这个正则表达式需要“mol”/“moles”和“g”/“gram”(允许“g”紧跟一个数字):
/^(?=.*\bmol(es)?\b)(?=.*[^a-z](g|grams?)\b).*/i
使用\b
- 字边界 - 确保“分子”和“好”不算作匹配等。
“i”标志使其不区分大小写。
请参阅demo