質問

JavaScript Regex Standardは、検索/交換を行うときにケースを強制するサポートをサポートしますか?

私は通常、正規表現の置換部分にある捕獲グループのケースを強制するための uなどのオプションを知っています。しかし、JavaScript Regexでこれを行う方法を理解することはできません。 JavaScriptコード自体にはアクセスできません むしろ、私が使用しているプログラムは、Regexエンジン自体に渡される正規表現の弦のエントリを許可します。

役に立ちましたか?

解決

私があなたを正しく理解しているなら、いいえ。

正規表現パターン内からJavaScript(一致を大文字に変換する)を評価することはできません。

私はstr.replace()が大文字に変換することのみを知っています。

他のヒント

文字列のマッチングは正規表現を使用して行われます。ただし、交換しているサブジェクト文字列の部分(正規表現の一致で供給されている)のみを気にかけているだけでなく、それを与えるものに基づいて直接文字列交換を行います:

var subject = "This is a subject string";

// fails, case-sensitive match by default
subject.replace(/this/, "That"); 

// succeeds, case-insensitive expression using /i modifier, replaces the word "This" with the word "That"
subject.replace(/this/i, "That"); 

これで、一致した文字列の一部をキャプチャして、それを使用してケースを変更したい場合は、式グループ(式の括弧)を使用することもできます。

var subject = "This is a subject string";
var matches = subject.match(/(subject) string/i);
if (matches.length > 0)
{
    // matches[0] is the entire match, or "subject string"
    // matches[1] is the first group match, or "subject"
    subject.replace(matches[1], matches[1].toUpperCase());
    // subject now reads "This is a SUBJECT string"
}

要するに、試合をすることで、必要に応じてケース感受性を処理できます。交換を行うことは、交換に使用する直接的な文字列を伝えるのと同じくらい簡単です。

JavaScriptの正規表現は、デフォルトでケースに敏感であり、渡された場合、サポートケースの不感であります /i 国旗。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top