この質問への回答として次の正規表現を提供することを考えていましたが、探していた正規表現を書くことができないようです:
w?o?r?d?p?r?e?s?s?
これは単語の順序付けられた略語と一致する必要wordpress
がありますが、まったく一致しないこともあります。
上記の正規表現を変更して、少なくとも 4 文字を順番に一致させるにはどうすればよいですか? お気に入り:
- 語
- wrdp
- 押す
- ワードプ
- プレス
- ワードプレス
これを行うための最良の方法は何ですか... =)
この質問への回答として次の正規表現を提供することを考えていましたが、探していた正規表現を書くことができないようです:
w?o?r?d?p?r?e?s?s?
これは単語の順序付けられた略語と一致する必要wordpress
がありますが、まったく一致しないこともあります。
上記の正規表現を変更して、少なくとも 4 文字を順番に一致させるにはどうすればよいですか? お気に入り:
これを行うための最良の方法は何ですか... =)
先読みアサーションを使用できます。
^(?=.{4})w?o?r?d?p?r?e?s?s?$
if ( strlen($string) >= 4 && preg_match('#^w?o?r?d?p?r?e?s?s?$#', $string) ) {
// abbreviation ok
}
文字列が少なくとも4文字の長さでない限り、これは正規表現を実行しません。
私はこれが正規表現ではないことを知っています、ただの楽しみです...
#!/usr/bin/python
FULLWORD = "wordprocess"
def check_word(word):
i, j = 0, 0
while i < len(word) and j < len(FULLWORD):
if word[i] == FULLWORD[j]:
i += 1; j += 1
else:
j += 1
if j >= len(FULLWORD) or i < 4 or i >= len(FULLWORD):
return "%s: FAIL" % word
return "%s: SUCC" % word
print check_word("wd")
print check_word("wdps")
print check_word("wsdp")
print check_word("wordprocessr")