正規表現の関連理解

jacklove
リリース: 2018-05-21 15:33:01
オリジナル
1653 人が閲覧しました

この記事では正規表現の関連知識を詳しく解説します。

d、w、s、[a-zA-Z0-9]、b、.、*、+、?、x{3}、^、$ はそれぞれ何ですか?

d: メタキャラクター、[0-9] に相当する数値 (0 から 9 の 1 つに一致)
w: メタキャラクター、文字、数字、アンダースコア、または漢字に相当し、[0- 9a-zA- Z_];
s: メタ文字、任意の空白文字と一致します。
[a-zA-Z0-9]: [] は範囲を指定し、そのいずれかに一致します。例は、a-z/A-Z/ のいずれかに一致します。 w (漢字を除く);
b: 単語の先頭または末尾と一致するメタキャラクター (単語境界):

var a= "hello helloworld";
a.match(reg); //結果は「hello」です。: メタ文字、改行文字を除くすべての文字に一致します。
*: 0 回以上繰り返される修飾子、少なくとも 1 回繰り返されます。 ;

? : 修飾子、0 または 1 回繰り返されます。

x{3}: 修飾子、x が 3 回出現します ({n} は n 回繰り返されます。{n,m} は n-m 回繰り返されます (n,m を含む)。{n, } は繰り返されます)少なくとも n 回、{,m} は最大 m 回繰り返されます);
: [] の否定を意味します ([abc] は abc のいずれかに一致し、[abc] は abc 以外の任意の文字に一致します)。回 文字列の先頭と一致します;
$: 文字列の末尾と一致します; (^hello&: hello で始まり hello で終わる文字列と一致します)

両側の空白文字を削除する関数 Trim(str) を作成します。文字列の

function trim(str) {    return str.replace(/^\s+|\s+$/g,'') //匹配开头或结尾的空白字符,替换成'';
 }
ログイン後にコピー

ユーザー入力が電子メールアドレスであるかどうかを判断する関数 isEmail(str) を作成します

function isEmail(str) {    var reg = /^[a-zA-Z\d_]+\@[a-zA-Z\d]+\.[a-zA-Z\d]+$/g;    return reg.test(str);
 }
ログイン後にコピー

ユーザー入力が携帯電話番号であるかどうかを判断する関数 isPhoneNum(str) を作成します

function isPhoneNum(str) {    var reg = /^1[3578]\d{9}$/g;    return reg.test(str);
}
ログイン後にコピー

関数を作成しますisValidUsername(str) は、ユーザー入力が携帯電話番号であるかどうかを判断します

function isValidUsername(str) {    var reg = /^([a-zA-Z\d_]){6,20}$/g;    return reg.test(str);
}
ログイン後にコピー

有効なユーザー名ではありません (長さは 6 ~ 20 文字、文字、数字、アンダースコアのみを含めることができます)

function isValidPassword(str) {    if (/^[a-zA-Z0-9_]{6,20}$/g.test(str)) {        if (/^[a-z]{6,20}$/g.test(str) || /^[A-Z]{6,20}$/g.test(str) || /^[0-9]{6,20}$/g.test(str) || /^[_]{6,20}$/g.test(str)) {            return false;
        }else {            return true;
        }
    }else {        return false;
    }
}
ログイン後にコピー

関数 isValidPassword(str) を作成します) ユーザー入力が正当なパスワード (長さは 6 ~ 20 文字、大文字、小文字、数字、アンダースコアのみ、および少なくとも 2 種類を含む) かどうかを判断します

var re = /*正则...*/var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee "console.log( subj.match(re) )  // ['#121212', '#AA00ef']
var re = /#[a-f\d]{6}/ig;var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee";console.log( subj.match(re) )
ログイン後にコピー

すべての色を取得する正規表現を記述します次の文字列

var str = 'hello  "hunger" , hello "world"';var pat =  /".*"/g;
str.match(pat);
//输出[""hunger" , hello "world""];
ログイン後にコピー

次のコードは何を出力しますか? コードを書き換えて、[""hunger"", ""world""]

var str = 'hello  "hunger" , hello "world"';
var pat =  /".*?"/g;  //添加?改成非贪婪模式,尽可能少的匹配;
str.match(pat); //[""hunger"", ""world""]
ログイン後にコピー

//正規表現はデフォルトで貪欲モードになっており、一致します。条件が満たされている場合は、できるだけ多くの一致を返します。

//コードを書き換えます


rrreee
この記事では、正規表現の関連説明を提供します。さらに関連する内容については、PHP 中国語 Web サイトを参照してください。


関連する推奨事項:

JavaScriptでのこれの使用法


数学、配列、日付の関連例


HTML5/CSS3関連知識の説明

以上が正規表現の関連理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート