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