1

JavaScriptで文字列がある場合

key=value

key除外に一致する正規表現を作成するにはどうすればよい=ですか?

言い換えると:

var regex = //Regular Expression goes here
regex.exec("key=value")[0]//Should be "key"

value除外に一致する正規表現を作成するにはどうすればよい=ですか?

このコードを使用してPrismシンタックスハイライトの言語を定義しているため、正規表現のマッチングを行うJavaScriptコードを制御したり、を使用したりすることはできませんsplit

4

4 に答える 4

3

さて、あなたはこれを行うことができます:

/^[^=]*/     // anything not containing = at the start of a line
/[^=]*$/     // anything not containing = at the end of a line

lookbehindPrismのプロパティを調べて、次のようなものを使用する方がよい場合があります。

{
    'pattern': /(=).*$/,
    'lookbehind': true
}

ドキュメントによると、これ=により、このパターンが一致するトークンの一部ではない文字が発生します。

于 2012-08-10T19:47:36.370 に答える
0
.*=(.*)

これは、=以降のすべてに一致します

(.*)=.*

これは、=より前のすべてに一致します

複数の=文字が予想される場合は、貪欲な数量詞と貪欲でない数量詞を調べてください。

編集:OPがjavascriptを使用していることを明らかにしたように:

var str = "key=value"; 
var n=str.match(/(.*)=/i)[1]; // before =
var n=str.match(/=(.*)/i)[1]; // after =
于 2012-08-10T19:18:04.743 に答える
0

この正規表現を使用する(^.+?)=(.+?$)

グループ1にはキーが含まれています

グループ2には値が含まれています

しかし、分割はより良い解決策です

于 2012-08-10T19:24:22.730 に答える
0
var regex = /^[^=]*/;
regex.exec("key=value");
于 2012-08-10T20:18:59.810 に答える