2013-04-26 4 views
4

"? -mix :"는 regex에서 무엇을 의미하며 javascript/jQuery에서도 유효합니까? 그것이 유효하지 않은 경우, 적절한 대용품은 무엇입니까?"? -mix :"는 무엇을 의미합니까?

업데이트 :이 전체 정규식 크롬 자바 스크립트에서 사용 /(?-mix:^[^,;]+$)/

그것입니다, 나는 다음과 같은 오류 받고 있어요 :

Uncaught SyntaxError: Invalid regular expression: /(?-mix:^[^,;]+$)/: Invalid group

을 :이 발견 도움이 된 : How to translate ruby regex to javascript? - (?i-mx:..) and Rails 3.0.3

답변

9

가정하면, (?-mix)http://www.regular-expressions.info/modifiers.html

Not all regex flavors support this. JavaScript and Python apply all mode modifiers to the entire regular expression. They don't support the (?-ismx) syntax, since turning off an option is pointless when mode modifiers apply to the whole regular expressions. All options are off by default.

3

당신 때문에 :

  • 일치를 구분
  • -i 비활성화 할 경우 일치하는이 것

    • -m하지 않도록 여러 여기를 참조 확장 정규식 공백을

    을 사용하지 -x 이제 여기에 컨텍스트가 javascript라는 것이 분명 해졌다. javascript supp를 생각하지 않는다. 구문에 플래그를 넣으므로, ^이 정규식의 중간에 있다는 것에 불평하고 있습니다. 일치하는 중간에 일치 항목의 시작을 찾을 수 없으므로 잘못된 정규식이됩니다.

    var re = /^[^,;]+$/mi; 
    

    또는이 같은 인수로 :

    자바 스크립트에서 정규식 자체와 같은 외부 플래그를 지정

    var re = new RegExp("^[^,;]+$", "mi"); 
    

    x 플래그는 지원되지 않습니다 자바 스크립트와이 특정 정규식에서 i 플래그가 필요 없습니다.

    이 정규 표현식에서 수행하려는 작업은 일치하는 문자열에 ,; 이외의 모든 문자가 포함되어 있고 비어 있지 않은지 여부를 알려주는 것입니다.