动态正则 Dynamic RegEx
正则在我们平时生活里用得非常多,而有的时候我们需要的正则表达式是动态变化的,但是网上一般给出的都是有关静态正则的,因此,在Google了一番后,得到一个可以使用动态正则的方案:
基于python版本:
#encoding:utf-8
import re
#(?<=mikrotik)\s+\d+\w?\.\d+\w?(\.\d+\w?)?
string = 'hacked mikrotik 3.10'
single_word ='mikrotik'
newregx = r'(?<=mikrotik)\s+\d+\w?\.\d+\w?(\.\d+\w?)?'
regx = r"(?<=" +re.escape(single_word) + r")\s+\d+\w?\.\d+\w?(\.\d+\w?)?"
#regx = r"(?<=" +re.escape(single_word) + r"\s+\d+\w?\.\d+\w?(\.\d+\w?)?"
#regx = r"\b(?=\w)" + re.escape(test) + r"\b(?!\w)"
print newregx
print regx
print type(newregx)
print type(regx)
print re.search(newregx,string).group(0)
print re.search(regx,string).group(0)