Regex 正则表达式匹配部分字符串和句子片段
假设我希望将以下内容与正则表达式匹配:Regex 正则表达式匹配部分字符串和句子片段,regex,Regex,假设我希望将以下内容与正则表达式匹配: 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都需要出现在字符串中 这些术语必须是独立的,即不能作为较长单词的一部分,如分子 如何使用一个正则表达式来匹配
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
- 这些术语必须是独立的,即不能作为较长单词的一部分,如
分子
~'mol|g|Grams/g
但它也与以下术语相匹配:
32 mol
gravity of molecule
此正则表达式需要“摩尔”/“摩尔”和“克”/“克”(允许“克”紧跟在数字后面):
使用\b
-单词边界-确保“分子”和“良好”不算作匹配项等
“i”标志使其不区分大小写
看
/^(?=.*\bmol(es)?\b)(?=.*[^a-z](g|grams?)\b).*/i