私は PHP で正規表現を使用するのが初めてで、知りたいのは、互いに等しいまたは類似した単語を一致させる方法です。
例:
「デザイナー」という言葉と「デザイン」という言葉がありますが、デザイナーとデザインを一致させようとすると false が返されますが、デザインとデザイナーを一致させようとすると一致が返されます。1 つの preg_match ステートメントを使用して、両方のケースを一致させる必要があります。
誰でも私を助けることができますか?
私は PHP で正規表現を使用するのが初めてで、知りたいのは、互いに等しいまたは類似した単語を一致させる方法です。
例:
「デザイナー」という言葉と「デザイン」という言葉がありますが、デザイナーとデザインを一致させようとすると false が返されますが、デザインとデザイナーを一致させようとすると一致が返されます。1 つの preg_match ステートメントを使用して、両方のケースを一致させる必要があります。
誰でも私を助けることができますか?
私はあなたがステミングを探していると信じています:http: //en.wikipedia.org/wiki/Stemming
これらの2つの単語だけを一致させたい場合は、nickbが提案したように実行し、単純にしてください。この一致を多くの単語に複製しようとしている場合は、次のPorterStemmerクラスを使用できます:http://tartarus.org/~martin/PorterStemmer/php.txt
あなたが探していると思うのは、オプションの一致です:
/design(?:er)?/
かっこは「er」、「?:」をグループ化し、キャプチャしないようにします。以下は、そのグループをオプションにします。
より一般的に言えば、単語またはその単語の長いバージョンをキャプチャする場合:
/design\w*/
これは、「design」とゼロ個以上 (「*」) の単語文字 (「\w」) に一致します。