2014-11-13 2 views
-1

내가펄 정규 표현식

option selected="selected" value="***male***" 

option value="***male***" selected="selected" 

내가 어떤 것을 등이 작성한 하나의 정규 표현식을 사용하여 라인 아래 두 가지에 대한 값 필드 (문자열 "남성")에서 캡처하는 정규 표현식을 작성하는 것을 시도하고 속성

option\s*?(?:value="(.+?)" selected="selected")|(?:selected="selected" value="(.+?)") 

"male"문자열은 캡처되지 않지만 파일의 전체 줄과 일치하는 경우에도 마찬가지입니다. 제발 제안 해주세요.

+4

xml 파서를 사용하면 xml 파일에 정규식을 사용하지 마십시오 – Vajura

+0

XML :: Twig의 문제점은 무엇입니까? –

+0

[Mandatory Link] (http://stackoverflow.com/a/1732454/3897316) – Degustaf

답변

0
local $/; $_ = <DATA>; $match=$_; 
my @values; 
while($match=~m/value="([^\"]*)"/g) 
{ 
    push(@values, $1); 
} 
print join "\n", @values; 

__DATA__ 
option selected="selected" value="***male***" 
option value="***male***" selected="selected" 
+0

이 코드 전용 답변을 통해 질문에 대한 답변을 얻을 수 있지만 일반적으로 코드 외에도 설명을 제공하는 것이 좋습니다. –

+0

귀하의 의견을 수락했습니다 ... 예 코드에 대한 설명을 제공해야합니다. – ssr1012