0

私は正規表現に頭を悩ませるために最善を尽くしていますが、あまり運がありません。

文字列内でテキストを検索しようとしています。文字列がどのように開始するか、文字列がどのように終了するかを知っています。開始と終了を含む文字列間のすべてのテキストを返したいです。

検索を開始= [{"lx":

検索を終了= }]

すなわち

[{"lx":variablehere }]

これまでに試しました

/^\[\{"lx":(*?)\}\]/;

/(\[\{"lx":)(*)(\}\])/;

しかし、実際には役に立たない...誰かが助けることができますか?

どうもありがとう

4

5 に答える 5

1

*スター文字は、前の文字を乗算します。あなたの場合、そのようなキャラクターはありません。「任意の文字」を意味する、または「非空白文字」を意味する、.のようなより具体的なものを入力する必要があります。\S

于 2012-06-14T11:45:49.023 に答える
1

*おそらくワイルドカードであると信じるのを間違えているでしょう。代わりにピリオド(.)を使用すると、問題ありません。

また、ゼロ以上を規定してもよろしいですか?値が必要な場合は、+(1つ以上)を使用します。

Javascript:

'[{"lx":variablehere}]'.match(/^\[\{"lx":(.+?)\}\]/);
于 2012-06-14T11:46:01.267 に答える
1

考えられる解決策:

var s = '[{"lx":variablehere}]';
var r = /\[\{"(.*?)":(.*?)\}\]/;
var m = s.match(r);

console.log(m);

この配列の結果:

[ '[{"lx":variablehere}]',
  'lx',
  'variablehere',
  index: 0,
  input: '[{"lx":variablehere}]' ]
于 2012-06-14T11:46:42.483 に答える
1
\[\{"lx"\:(.*)\}\]

これはあなたのために働くはずです。キャプチャされた変数には、\1表記で到達できます。

于 2012-06-14T11:46:54.340 に答える
0

これを試して:

    ^\[\{\"lx\"\:(.*)\}\]$

[{"lx":と}]の間のすべてのテキストは、後方参照変数にあります(\ $ 1のようなものは、プログラミング言語によって異なります)。

于 2012-06-14T11:53:59.763 に答える