ホームページ  >  記事  >  ウェブフロントエンド  >  正規表現の match() および search() 関数と match() および search() 関数の具体的な違いは何ですか?

正規表現の match() および search() 関数と match() および search() 関数の具体的な違いは何ですか?

php中世界最好的语言
php中世界最好的语言オリジナル
2018-01-08 11:04:334478ブラウズ

今回は、正規表現のmatch()、search()関数と、match()、search()関数の具体的な分析と使用例を紹介します。以下は実際的なケースです。

match() 関数は、文字列の先頭で RE が一致するかどうかのみを検出します。search() は文字列全体をスキャンして一致を見つけます。つまり、match() は位置 0 で一致した場合にのみ返されます。先頭で一致しない場合、成功した場合、match() は none を返します

例:

#! /usr/bin/env python
# -*- coding=utf-8 -*-
import re
text = 'pythontab'
m = re.match(r"\w+", text)
if m:
  print m.group(0)
else:
  print 'not match'


結果は次のようになります: pythontab

そして:

#! /usr/bin/env python
# -*- coding=utf-8 -*-
#
import re
text = '@pythontab'
m = re.match(r"\w+", text)
if m:
  print m.group(0)
else:
  print 'not match'


結果は次のようになります:

search() は string 全体をスキャンし、最初に一致したものを返します

例:

#! /usr/bin/env python
# -*- coding=utf-8 -*-
#
import re
text = 'pythontab'
m = re.search(r"\w+", text)
if m:
  print m.group(0)
else:
  print 'not match'


結果は次のようになります: pythontab

これはどうでしょうか:

#! /usr/bin/env python
# -*- coding=utf-8 -*-
#
import re
text = '@pythontab'
m = re.search(r"\w+", text)
if m:
  print m.group(0)
else:
  print 'not match'


結果は次のようになります: pythontab

概要:

Python () 関数での正規表現の一致

パターン オブジェクトを作成しない場合は、match 関数を使用して正規表現を直接一致させることができます。私の意見では、この方法の方が簡潔ですが、大規模なプログラムを作成するのには適していませんが、後でメンテナンスが困難になる可能性がありますが、いくつかの小さなスクリプトを作成することは可能です。

これらの事例を読んだ後は、その方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

関連書籍:

正規表現を使用して JavaScript コードを強調表示する方法

JS 正規表現の使用方法の詳細な紹介

正規表現フォーム検証の例

以上が正規表現の match() および search() 関数と match() および search() 関数の具体的な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。