0

特定の大文字小文字を含む頭字語があります。ビジネスは今、ケーシングが間違っているすべての出来事を見つけて修正することを望んでいます。

正しいHtMl
大文字と小文字の例:検索操作では、HTML、html、Html、HtMLなどのすべてのオカレンスを返す必要があります。したがって、各ケースを手動で調べて、それが本当に頭字語であるかどうかを確認できます。

私は考えRegular Expressionsていましたが、正しいケースを除外するものを書く方法がわかりません。のようなもの:\b((H|h)(T|t)(M|m)(L|l))&(~HTML)\b&存在しANDない(または存在する?)のでのみ。

4

2 に答える 2

1

テキストを小文字に変換してから、小文字のテキストで単語 (小文字も) の出現箇所を見つけることができます。ここで、小文字バージョンで見つかった場所はどこでも、元のテキストに置き換えます。

しかし、よく考えてみると、正規表現を使用する方がはるかに簡単です。ここに追加することはあまりありませんが、そのような置換を行う必要がある場合は、これらの正規表現を生成 (および適用) する小さな Python スクリプトを次に示します。

import re
def replaceAllVariants(acronym, text):
    regex = "".join("[%s%s]" % (c.lower(), c.upper()) for c in acronym)
    return re.sub(regex, acronym, text)
# usage
text = replaceAllVariants("HTML", "Bla bla html HTML HtMl hTMl foo bar.")
于 2012-09-05T15:01:27.213 に答える
1

bashスクリプトを使用して解決:

echo "Hello, I'm not HtmL, HTML or html, but not HtMl." | grep -o "[H|h][T|t][M|m][L|l]" | grep -v "HtMl"

「例外」は「grep -v」の部分にあります。

于 2012-09-05T15:52:12.923 に答える