아래 정규식 (PHP 사용)을 만들었습니다. 이 문자열은 a-z0-9
, .
, _
및 만을 포함하는 ALL terms
과 일치해야합니다.정규식이 작동하지 않습니다.
내 표현은 '~(?:\(|\s{0,},\s{0,})([a-z0-9._-]+)(?:\s{0,},\s{0,}|\))$~i'
입니다.
내 대상 문자열은 ('word', word.2, a_word, another-word)
입니다. 결과에 terms
가 표시됩니다 : word.2
, a_word
, another-word
입니다.
현재 받고있는 숫자는 another-word
입니다.
내 목표 문자열에서 MySQL의 기능을 검출하고
내 목표는,이 잘 작동합니다. 그런 다음 해당 대상 문자열 내에서 모든 필드를 원합니다. 그것은 내 자신의 ORM을위한 것입니다.
다음 표현식 안에 더 많은 괄호가 포함되어있을 수 있다고 생각합니다.
힌트 :'{0,}'은'*'와 같습니다. – deceze
괄호 안의 어떤 용어라도 따옴표로 묶을 수 있습니까? 임의의 수의 인용 된 용어가있을 수 있습니까? 어쩌면 우리는 당신의 의견을 몇 가지 더 보여줄 수 있습니다. – Flimzy
또한 중첩 된 괄호를 처리해야합니까? 모든 괄호가 항상 올바르게 균형을 잡을 수 있습니까? 따옴표로 묶인 문자열 안에 괄호를 사용할 수 있습니까? 따옴표로 묶인 문자열 안에 (이스케이프 또는 다른) 따옴표가 올 수 있습니까? 정규식에서이를 처리하도록하려면 이러한 문제를 해결해야합니다. –