首页 > 解决方案 > Reg Exp - 如果前面有数字或字母,则匹配单词期望

问题描述

我想写一个只匹配数字 (2) 的正则表达式:

1)bincdf(2)
2)2*df(2) 
3)2df(2)  
3)2+df(2)

我在 as3 工作,我有一个字符串列表 arr=['df','hsa','ksp'...]

我匹配这些是因为我想替换它们,但问题是前面或后面不允许有任何数字或字母。后面必须有一个'('。

所以我想为字符串='df'得到以下结果:

2+df(2 -> TRUE
f+df(s -> TRUE

2+df2 -> FALSE
2*df+ -> FALSE
2+3df(2 -> FALSE
2-dF(2 -> FALSE
2-DF(2 -> FALSE
4+sdf(2 -> FALSE

++++++ 请注意我想替换我传递的字符串'df',所以我只想匹配字符串'df'。

所以 \frac(df(x) + 1,x) 应该只匹配'df('部分。例如:如果我想用'\df'替换'df'。我会得到:

\frac(\df(x) + 1,x)

更换后

我试过使用?正则表达式运算符,但我无法找出正确的表达式。

我非常感谢任何帮助

标签: regex

解决方案


你可以试试这个。(?<=[^0-9a-z])df(?=\()

这是一个关于 regex101 的演示。


推荐阅读