-1

私のアプリケーションでは、HTML 要素の id 属性は # で始まる必要があります。HTML5 によると、id 属性の唯一の制限は、空白を含めてはならず、少なくとも 1 文字の長さである必要があるということです。だから私は次の正規表現を書きました上記の制約に従って id 属性に一致するもの

idMatch: /^#\S+$/

今、文字列の先頭にある # 文字を削除したいです...私の質問は、1 つの正規表現で両方の操作を実行できますか...つまり、最初の '#' の後の文字を抽出できますか?単一の正規表現を使用して、上記の制約に一致する文字列内の「#」を含む空白以外の文字。一致の結果は、次の 2 つのことを行う必要があります。 rules) 2) 認識された文字列の最初の #.. の後の部分を抽出します。

4

2 に答える 2

1

これを行う小さなスニペットを次に示します。replaceメソッドで正規表現テキストを実行するだけで、一致する場合は#なしでIDが返されます。少し使いやすくするためのヘルパー関数を作成します。

var regex = /^#\S+$/,
    id = '#foo',
    str;

str = id.replace(regex, function($1) {
    return $1.split('#').join('');
});

console.log(str);
于 2012-05-02T18:03:01.850 に答える
1

RegExes で括弧を使用して、必要なことを行うことができます。

/^#(\S+$)/.test(testString);
var idWithoutHash = RegExp.$1;
于 2012-05-02T18:04:20.300 に答える