2

正規表現を使用して、コンテンツ文字列<w:t ...>との間のすべてを返したい</w:t>

私が使用する正規表現は次のとおりです。#(<w:t[^>]*>)([^<>]*)?</w:t>#

ただし、冒頭で内容がカットされている場合があるため、内容がtext</w:t>

一致する正規表現が必要です:

  • $1:''
  • $2:'テキスト'

で囲まれたテキストと引き続き一致します。<w:t>

私は現在2つの正規表現を持っています(もう1つはです#^()([^<]+)#)が、それらを1つの正規表現に入れたいと思います:

コンテンツの例:

 {#fuites}</w:t></w:r><w:r w:rsidR="00E4576A"><w:rPr><w:bCs/></w:rPr><w:t>{</w:t></w:r><w:r w:rsidR="0066055D"><w:rPr><w:bCs/>
</w:rPr><w:t>type</w:t></w:r><w:r w:rsidR="00E4576A">
<w:rPr><w:bCs/></w:rPr><w:t>}</w:t></w:r>
<w:r w:rsidR="00900433"><w:rPr><w:bCs/>
</w:rPr><w:t xml:space="preserve">
</w:t></w:r><w:r w:rsidR="00900433">
<w:rPr><w:noProof/><w:lang w:eastAsia="fr-FR"/>
</w:rPr><w:drawing><wp:inline distT="0" distB="0" distL="0" distR="0" wp14:anchorId="1745F132" wp14:editId="7142C18F">
<wp:extent cx="225632" cy="179073"/><wp:effectExtent l="0" t="0" r="3175" b="0"/>
<wp:docPr id="7" name="Image 7"/><wp:cNvGraphicFramePr><a:graphicFrameLocks xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" noChangeAspect="1"/></wp:cNvGraphicFramePr><a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture"><pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture"><pic:nvPicPr><pic:cNvPr id="0" name=""/><pic:cNvPicPr/></pic:nvPicPr><pic:blipFill><a:blip r:embed="rId11"/><a:stretch><a:fillRect/></a:stretch></pic:blipFill><pic:spPr><a:xfrm><a:off x="0" y="0"/><a:ext cx="228029" cy="180975"/></a:xfrm><a:prstGeom prst="rect"><a:avLst/></a:prstGeom></pic:spPr></pic:pic></a:graphicData></a:graphic></wp:inline></w:drawing></w:r><w:r><w:rPr><w:b/><w:bCs/></w:rPr><w:t xml:space="preserve"> {Type}</w:t></w:r><w:r><w:rPr><w:b/><w:bCs/></w:rPr><w:tab/><w:t>{</w:t></w:r><w:r><w:rPr><w:bCs/></w:rPr><w:t>Description}</w:t></w:r></w:p><w:p w:rsidR="00FF7A5E" w:rsidRPr="00FF7A5E" w:rsidRDefault="00FF7A5E" w:rsidP="00CA7135"><w:pPr><w:rPr><w:bCs/></w:rPr></w:pPr><w:r><w:rPr><w:bCs/></w:rPr><w:t>{/fuites}
4

1 に答える 1

2

正規表現は XML/HTML を解析するのに十分な強力なツールではないため、2 つ目の正規表現が必要です (実際にはもっと必要になります)。1 つまたは複数の正規表現を作成して、目的を達成する方法はありません。これを行う代わりに、PHP の XML パーサーまたはその他の XML 対応ライブラリーをお勧めします。

于 2013-05-29T13:44:30.090 に答える