Мне нужно было выполнить grep некоторых файлов на сервере, поэтому я быстро взломал и протестировал регулярное выражение в консоли javascript для удовлетворения своих потребностей:
var regexp = /mssql_query\s*\([\"\'][a-z0-9_\s]*(_sp|usp_)/i
// want to pass
regexp.test('mssql_query ("something_sp')
regexp.test('mssql_query("exec something_sp')
regexp.test("mssql_query('something_else_sp")
regexp.test('mssql_query("_usp_sp')
regexp.test('mssql_query ("_usp_somethig')
regexp.test("mssql_query('_usp_something_else")
// want to fail
regexp.test('mssql_query ("something_s')
regexp.test('mssql_query("exec something_p')
regexp.test('mssql_query("select')
Выражение отлично работает для всех тестовых случаев, которые я бросилна это, однако я не могу заставить выражение работать с grep.Есть ли способ преобразовать выражение EMCA в выражение ERE или BRE, чтобы я мог использовать его с grep или sed?
Я пытался настроить его для работы в grep, но с треском провалился.