可讀性較好的正規表達式:regexpbuilderphp
PHP 5.3+的可讀性較好的正規表達式。 Examples
Validation
Search
這是PHP移植至 https://github.com/thebinarysearchtree/regexpbuilderjs
RegExpBuilder整合正則表達式至編程語言,從而使它們易于閱讀和維護。正則表達式使用鏈式方法創建。
Examples use Gherkins\RegExpBuilderPHP;
$builder = new RegExpBuilder();
Validation $regExp = $builder
->startOfInput()
->exactly(4)->digits()
->then("_")
->exactly(2)->digits()
->then("_")
->min(3)->max(10)->letters()
->then(".")
->anyOf(array("png", "jpg", "gif"))
->endOfInput()
->getRegExp();
//true
$regExp->test("2020_10_hund.jpg");
$regExp->test("2030_11_katze.png");
$regExp->test("4000_99_maus.gif");
//false
$regExp->test("123_00_nein.gif");
$regExp->test("4000_0_nein.pdf");
$regExp->test("201505_nein.jpg");
Search $regExp = $builder
->multiLine()
->globalMatch()
->min(1)->max(10)->anythingBut(" ")
->anyOf(array(".pdf", ".doc"))
->getRegExp();
$text = <<<EOF
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy SomeFile.pdf eirmod tempor invidunt ut labore et dolore
magna aliquyam erat, sed diam voluptua. At vero eos et accusam
et justo duo dolores et ea rebum. doc_04.pdf Stet clita kasd File.doc.
EOF;
$matches = $regExp->exec($text);
//true
($matches[0] === "SomeFile.pdf");
($matches[1] === "doc_04.pdf");
($matches[2] === "File.doc");
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!