searchwp\tokens\regex_patterns
4.0.0以降
SearchWPは、トークン化によって検索時の有用性が低下するのを防ぐために、特定の文字列をそのまま保持する正規表現パターンのマッチングを検索します。デフォルトでは、SKU、日付、イニシャル、関数名、バージョン番号などの文字列を抽出するための一般的な正規表現パターンが多数用意されています。
このフックを使用して独自のパターンマッチを追加できます。
注意: パターンは厳密さの順序で指定してください。より厳密なものを先に指定します。
デフォルトのパターンは次のとおりです。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [ | |
| // Function names, including namespaced function names. | |
| "/([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(\\\\[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)*)\(/is", | |
| // Date formats. | |
| '/\b([0-9]{4}-[0-9]{1,2}-[0-9]{1,2})\b/is', // YYYY-MM-DD | |
| '/\b([0-9]{1,2}-[0-9]{1,2}-[0-9]{4})\b/is', // MM-DD-YYYY | |
| '/\b([0-9]{4}\\/[0-9]{1,2}\\/[0-9]{1,2})\b/is', // YYYY/MM/DD | |
| '/\b([0-9]{1,2}\\/[0-9]{1,2}\\/[0-9]{4})\b/is', // MM/DD/YYYY | |
| // IP addresses. | |
| '/\b(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})\b/is', // IPv4. | |
| // Initials. | |
| "/\\b((?:[A-Za-z]\\.\\s{0,1})+)/isu", | |
| // Version numbers: 1.0 or 1.0.4 or 1.0.5b1. | |
| '/\b([a-z0-9]+(?:\\.[a-z0-9]+)+)\b/is', | |
| // Serial numbers. | |
| '/(?=\S*[\-\_])([[:alnum:]\-\_]+)/ius', // Hyphen/underscore separator. | |
| // Strings followed by digits and maybe strings. | |
| // e.g. `System 1` or `System 12ab-cd12` | |
| '/([A-Za-z0-9]{1,}\s[0-9]{1,}[A-Za-z0-9]*)/iu', | |
| // Strings of digits. | |
| "/\\b(\\d{1,})\\b/is", | |
| // e.g. M&M, M & M. | |
| "/\\b([[:alnum:]]+\\s?(?:&\\s?[[:alnum:]]+)+)\b/isu", | |
| // Strings with apostraphe(s). Consider both standard and curly. | |
| '/\b([a-z0-9]*[\'|’][a-z0-9]*)\b/isu' | |
| ] |
パラメータ
| タイプ | パラメータ | デフォルト | 提供開始 |
|---|---|---|---|
| 文字列{} | $patterns |
上記のgistを参照 | 4.0.0 |
例
All hooks should be added to your custom SearchWP Customizations Plugin.
カスタム正規表現パターンを追加
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| // Add custom regular expression pattern to SearchWP. | |
| add_filter( 'searchwp\tokens\regex_patterns', function( $patterns ) { | |
| $my_patterns = [ | |
| "/([0-9]{1,2}\\/[0-9]{1,2})/is", // Retain measurement details. | |
| ]; | |
| // We want our pattern to be considered top priority. | |
| return array_merge( $my_patterns, $patterns ); | |
| } ); |

