2017-08-03 11 views
0

私は '?'検索は怠惰になります...と私は次のように動作する必要があることを感じる:検索するRegexpで最初のオカレンスを見つけるには?

/<w:body>(.*)(<w:r>?)/igm 

文字列:

<w:body><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:rPr><w:b/></w:rPr></w:pPr><w:r><w:rPr><w:b/></w:rPr><w:t>This is going to be</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:r><w:rPr><w:b/></w:rPr><w:t>More</w:t></w:r><w:r><w:t xml:space="preserve"> complicate </w:t></w:r><w:r><w:rPr><w:i/></w:rPr><w:t>text</w:t></w:r><w:r><w:t xml:space="preserve"> with</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="1"/></w:numPr></w:pPr><w:r><w:t>Bullets</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:r><w:t>And</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="2"/></w:numPr></w:pPr><w:r><w:t>Numbered</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="2"/></w:numPr></w:pPr><w:r><w:t>Lists</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRPr="00EA0565" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:r><w:t xml:space="preserve">With </w:t></w:r><w:r w:rsidRPr="002575C3"><w:rPr><w:sz w:val="36"/></w:rPr><w:t xml:space="preserve">BIG </w:t></w:r><w:r><w:t>fonts and weird charac</w:t></w:r><w:r w:rsidRPr="002575C3"><w:rPr><w:vertAlign w:val="superscript"/></w:rPr><w:t>ters</w:t></w:r><w:r><w:t>.</w:t></w:r></w:p><w:p w:rsidR="00000000" w:rsidRDefault="00584C40"/><w:sectPr w:rsidR="00000000" w:rsidSect="00B46591"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/><w:docGrid w:linePitch="360"/></w:sectPr></w:body></w:document> 

望ましい結果:

<w:body><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:rPr><w:b/></w:rPr></w:pPr><w:r> 

実際結果(https://regex101.com/r/uB1lQ8/1とregexpal.comを使用): (それはまだ最初で停止対最後に行く...)

<w:body><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:rPr><w:b/></w:rPr></w:pPr><w:r><w:rPr><w:b/></w:rPr><w:t>This is going to be</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:r><w:rPr><w:b/></w:rPr><w:t>More</w:t></w:r><w:r><w:t xml:space="preserve"> complicate </w:t></w:r><w:r><w:rPr><w:i/></w:rPr><w:t>text</w:t></w:r><w:r><w:t xml:space="preserve"> with</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="1"/></w:numPr></w:pPr><w:r><w:t>Bullets</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:r><w:t>And</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="2"/></w:numPr></w:pPr><w:r><w:t>Numbered</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="2"/></w:numPr></w:pPr><w:r><w:t>Lists</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRPr="00EA0565" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:r><w:t xml:space="preserve">With </w:t></w:r><w:r w:rsidRPr="002575C3"><w:rPr><w:sz w:val="36"/></w:rPr><w:t xml:space="preserve">BIG </w:t></w:r><w:r><w:t>fonts and weird charac</w:t></w:r><w:r w:rsidRPr="002575C3"><w:rPr><w:vertAlign w:val="superscript"/></w:rPr><w:t>ters</w:t></w:r><w:r> 

は、任意の専門家の助けをありがとう!

+0

*「私は理解して '?'検索を怠惰にする "* - 単独では使用されません。この場合、' {0,1} 'と同じです。 – nnnnnn

+0

'?'は、その正面にある乗算器だけを遅延させます。 'foo *?'や 'foo +?'や 'foo {1,1000}? 'のようなものです。あなたがそれを使用した方法は、 '>?'が '> {0,1}'と同等であるように「オプション」を意味します。 – Thomas

答えて

0

ではなく(.*)グループは怠惰ください:/<w:body>(.*?)<w:r>/igm

const reg = /<w:body>(.*?)<w:r>/igm; 
 
const str = `<w:body><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:rPr><w:b/></w:rPr></w:pPr><w:r><w:rPr><w:b/></w:rPr><w:t>This is going to be</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:r><w:rPr><w:b/></w:rPr><w:t>More</w:t></w:r><w:r><w:t xml:space="preserve"> complicate </w:t></w:r><w:r><w:rPr><w:i/></w:rPr><w:t>text</w:t></w:r><w:r><w:t xml:space="preserve"> with</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="1"/></w:numPr></w:pPr><w:r><w:t>Bullets</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:r><w:t>And</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="2"/></w:numPr></w:pPr><w:r><w:t>Numbered</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:pPr><w:pStyle w:val="ListParagraph"/><w:numPr><w:ilvl w:val="0"/><w:numId w:val="2"/></w:numPr></w:pPr><w:r><w:t>Lists</w:t></w:r></w:p><w:p w:rsidR="00584C40" w:rsidRPr="00EA0565" w:rsidRDefault="00584C40" w:rsidP="00584C40"><w:r><w:t xml:space="preserve">With </w:t></w:r><w:r w:rsidRPr="002575C3"><w:rPr><w:sz w:val="36"/></w:rPr><w:t xml:space="preserve">BIG </w:t></w:r><w:r><w:t>fonts and weird charac</w:t></w:r><w:r w:rsidRPr="002575C3"><w:rPr><w:vertAlign w:val="superscript"/></w:rPr><w:t>ters</w:t></w:r><w:r><w:t>.</w:t></w:r></w:p><w:p w:rsidR="00000000" w:rsidRDefault="00584C40"/><w:sectPr w:rsidR="00000000" w:rsidSect="00B46591"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/><w:docGrid w:linePitch="360"/></w:sectPr></w:body></w:document>`; 
 

 
console.info(str.match(reg)[0]);

+0

賢い - ありがとう。 – 11teenth

関連する問題