秀丸でgrepしようとしています。

例えば1から100までの整数値が一行づつランダムに出現する300行一まとまりのファイルがあるとして、例えばその中から50以上の整数値を抜き出す、という場合に使える正規表現はあるのでしょうか?

「OR検索」として「50|51|52・・・・」とやっていけばできそうですが、実務冗長過ぎますし、逆に9以下を抜き出す(足切り処理と反対の頭切り)という目論見の時には役に立ちません(例えば1を含む11や21や31も一緒に抜き出してしまう)。

回答の条件
  • 1人50回まで
  • 登録:
  • 終了:2019/07/18 07:16:57
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:siachan No.1

回答回数91ベストアンサー獲得回数23

ポイント250pt
^([5-9]\d|100)$

 以上とか以下とかは無かったように思うので、やるとしたらこんな感じでしょうか。

他1件のコメントを見る
id:siachan

 1桁の数字なので

^\d$

ですね。

2019/07/15 09:24:51
id:minminjp2001

いろいろ探したら、とあるエディターの機能に用意されていたので当面そっちで間に合わせます。
文法上の意味を理解して自由確実にこなすのは結構時間と慣れが必要そうです。
ありがとうございました。

2019/07/18 07:12:51

その他の回答1件)

id:siachan No.1

回答回数91ベストアンサー獲得回数23ここでベストアンサー

ポイント250pt
^([5-9]\d|100)$

 以上とか以下とかは無かったように思うので、やるとしたらこんな感じでしょうか。

他1件のコメントを見る
id:siachan

 1桁の数字なので

^\d$

ですね。

2019/07/15 09:24:51
id:minminjp2001

いろいろ探したら、とあるエディターの機能に用意されていたので当面そっちで間に合わせます。
文法上の意味を理解して自由確実にこなすのは結構時間と慣れが必要そうです。
ありがとうございました。

2019/07/18 07:12:51
id:kaoato No.2

回答回数236ベストアンサー獲得回数86

ポイント250pt
^([5-9]\d|100)$

たぶん、

^([5-9][0-9]|100)$

と書いても同じ。


^ =>行頭
[5-9] => 5 から9 = 5|6|7|8|9
\d => 数字([0-9]と同じ)
| =>OR
$ =>行末


https://help.maruo.co.jp/hidemaru/html/190_CmdSearch_Regular.html

秀丸の正規表現に関しては、上記に書いてるので、それをみればよい


>よろしかったら9以下を抽出するための記述も書いただけらありがたい

文字として評価するので、9以下と概念でなくて、
0から9とかに言い換えたほうが良いのでは?
^\d$
^[0-9]$
^(0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9)$


この3つは同じ。

id:minminjp2001

いろいろ探したら、とあるエディターの機能に用意されていたので当面そっちで間に合わせます。

>0から9とかに言い換えたほうが良いのでは?

なるほど、自然数の量的な意味合いはさて置き、単なる差異化された記号として捉えなければならないんでしょうね。頭こんがらがりそうですね。


ありがとうございました。

2019/07/18 07:16:18

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません