0
我正在创建一个正则表达式来根据一些文本动态地查询MySQL数据库。我解析了文本,现在我需要根据文本创建一个正则表达式,该文本将匹配包含文本的前N个字符并至少包含3个字符的字符串。到目前为止,我这样做:正则表达式匹配字符串的前n个字符
var regex = new RegExp('^' + text.substr(0, 3).replace(/[[\]{}()*+?.\\|^$\-,&#\s]/g, '\\$&'));
工程,以确保前三个字符匹配,但后来我想查询数据库,看看是否有文本的其他任何比赛。例如,如果文本是'测试字符串',我想创建一个正则表达式来匹配数据库中的列,比如'tes','test str','测试字符串'等,直到目前为止正如文中所述。
我不太确定如何标题,所以希望我不会错过任何类似的问题。如果有更好的方法来查询数据库的话,我也可以这么做。
但不这让喜欢“测试stringggg”或“tesfoo”字符串传递,他们不该在我的例子中?在我的例子中,'tes','test string'和'test str'通过,因为它们是完全在左边原始文本中的字符串。 – user3622734
你说得对,我错过了一半。我编辑了查询,使它成为了诀窍(至少我认为!)。但我没有一个正则表达式,我的方式工作,我只是增加了另一个子句,确保列的值包含在字符串中。这是预期的行为? – Demian
是的,这是我希望它采取行动的方式,谢谢。 – user3622734