• ベストアンサー

これは正規表現とは言えないでしょうか?

正規表現を勉強しようと思っているのですが まずはじめに確認させて下さい。VBAです。 Sub 正規表現() If a Like "*a*" Then End If End Sub は正規表現とは言えないでしょうか? *を使っているからそう思いました。 Dim re As RegExp Set re = New RegExp を使わないと、正規表現といえないのでしょうか? よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

正規表現は処理系で微妙に違うようです。しかし、ほぼUNIX系の学者の間で固まったものがあり、その系統のものを正規表現としてあるようです。 ワイルドカードは、考えからでは、含まれても、正規表現を使えるようになっているとは言えないと思う。 RegExpのオブジェクトを提供して、初めて仲間入りしたと言えるのではないですか。 パターンマッチの類型(考え方)や記号がある程度共通して無いと、正規表現といいにくいでしょう。その点VBAは不合格だろう。 VB.NETでは取り入れている。 学問的な言語理論関連の文章語句の分析から(検索・置換・チェック)始まったが、WEBの絡みでPHPやPerlでの正規表現が有名になっているようです。 ーー 質問者はウィンドウズ、MS系にしか目が行っていないようだが、正規表現は本家はMSではないので、「Set re = New RegExpを使わないと、正規表現といえないのでしょうか?」は、全体的に見ると、可笑しな感じ。PerlではSet re = New RegExpなどは使わないでしょう。

rieury
質問者

お礼

ありがとうございます。よく勉強してみます。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

正規表現というのは一般名詞なので、かってに意味づけしても良いですが、他の言語と同じ意味での正規表現がある言語で、別のものを正規表現と呼ぶことはさすがに無理です。

rieury
質問者

お礼

ありがとうございます。

noname#158634
noname#158634
回答No.1

その「*」は「ワイルドカード」。正規表現の「*」とは意味がまるで違う。

rieury
質問者

お礼

やはり違うのですね。ありがとうございます。