パターンに一致するセミコロンで区切られた文字列から最初のユーザー権利を抽出しようとしています。csv文字列を検索し、Javascript正規表現を使用して一致を返す方法
ユーザーの権限は形式で保存されます。ユーザーは任意の権限を持っていない場合は LAA;LA_1;LA_2;LE_3;
文字列は空です。 が.*?;(LA_[^;]*)?.*
(グループの最後にクエスチョンマークがケースのユーザーには、全体のラインを一致させるためのものであるが、持っていない:
私の最善の解決策は、これまでregex.replace文の中で、次の正規表現を使用することです。右、彼女はそれを持っていないことを知らせるために、空の文字列に置き換える)
しかし、それは検索右の場合には正しく動作しませんが最初の位置にある: LA_1;LA_2;LE_3;
それはさただ簡単にそれを修正する正規表現の前に行の先頭にセミコロンを追加するが、私の質問は、なぜ次の正規表現にマッチしないのだろうか?
.*?(?:(?:^|;)(LA_[^;]*))?.*
私は解決策を見つけるために、他の多くの正規表現を試みたが、これまでのところ成功なしています。
ありがとう!どういうわけか私はマッチ機能を見落とし、私の "簡単な解決策"はまだバグを残していました。 :) 私はあなたのアイデアをactionscript3に移植しましたが、今度は次のフォームを持っています: ' public function getRole():String { (LA _ [^;] *)/。test( this._rightsList)))? this._rightsList。マッチ(/(^ |;)(LA _ [^;] *)/)[2]: ""; } 「 –