3

私は *.po ファイルに取り組んでいます。 と の間のすべてのテキストをキャッチしようとしていますがmsgid ""msgstr ""本当に幸運ではありません。

msgid ""
"%s asdfgh asdsfgf asdfg %s even if you "
"asdfgdh sentences with no sense. We are not asking  translate "
"Shakespeare's %s Hamlet %s !. %s testing regex %s "
"don't require specific industry knowledge. enjoying "
msgstr ""

私が試したこと:

var myArray = fileContent.match(/msgid ([""'])(?:(?=(\\?))\2.)*?\1/g);

助けてくれてありがとう、私は正規表現が得意ではありません:(

4

4 に答える 4

2

このパターンで試してください:

/msgid (["']{2})\n([\s\S]*?)\nmsgstr \1/

結果は 2 番目のキャプチャ グループにありますが、次のようにしてより簡単にすることができます。

/msgid ["']{2}\n([\s\S]*?)\nmsgstr /

最初の捕獲グループで

于 2013-05-31T16:26:06.230 に答える
1

おそらくこの正規表現を試すことができますか?

msgid ""((?:.|[\n\r])+)msgstr ""

((?:.|[\n\r])+)これはあなたの捕獲グループです。

(?:.|[\n\r])+これにより、.または[\n\r]複数回の一致が可能になり\n\rます。これは、改行と改行の場合です。

テスト済み

于 2013-05-31T16:32:20.893 に答える