【プログラミング】C++の正規表現について教えて欲しい

1 : 2022/03/17(木) 13:59:37.914 ID:aAwvUhEgd
複数のパターンを同時に判定ってできる?
2 : 2022/03/17(木) 14:00:06.168 ID:aAwvUhEgd
1/12345

1/12.34

をおっけーにしたい

3 : 2022/03/17(木) 14:02:17.326 ID:aDjELnTa0
.*
6 : 2022/03/17(木) 14:02:42.372 ID:aAwvUhEgd
>>3
それぜんぶおっけなやつじゃん
4 : 2022/03/17(木) 14:02:22.165 ID:aAwvUhEgd
条件
/の左側部分は整数1~3桁

/の右側部分は整数1~6桁
or
小数(正数桁1~3、少数桁3固定)

5 : 2022/03/17(木) 14:02:28.610 ID:msSba5Pcp
分数で分母に少数を許可?
7 : 2022/03/17(木) 14:03:12.591 ID:aAwvUhEgd
>>5
分数ではない
2つの値を入れるのに区切りでスラッシュ入れてる感じ
8 : 2022/03/17(木) 14:04:17.346 ID:4isGzohw0
正規表現遅いから手で書いたほうがパフォーマンスいいよ
11 : 2022/03/17(木) 14:05:26.561 ID:aAwvUhEgd
>>8
意外と判定に時間かかるらしいな
一々コード書くの面倒だから正規表現使うけど
9 : 2022/03/17(木) 14:04:21.576 ID:aAwvUhEgd
コンテナ?ってやつに/の前と後それぞれ入れたいから
カッコでくくるのもやるひつようがある
10 : 2022/03/17(木) 14:04:31.449 ID:msSba5Pcp
試してないけど半角で
\d+/\d+(.\d+)?
12 : 2022/03/17(木) 14:06:20.375 ID:aAwvUhEgd
>>10
ありがとう
でも数字の桁数もガチガチに指定したいのだわ
13 : 2022/03/17(木) 14:06:58.080 ID:msSba5Pcp
>>10
訂正

\d+/\d+(\.\d+)?

14 : 2022/03/17(木) 14:07:04.115 ID:aDjELnTa0
\d{,3}/(\d{,6}|\d{,3}\.\d{3})
16 : 2022/03/17(木) 14:09:54.212 ID:K3r6IRNP0
>>14
19 : 2022/03/17(木) 14:10:56.861 ID:aAwvUhEgd
>>14
おお
さんきゅ
1って省略していいの
22 : 2022/03/17(木) 14:14:02.780 ID:aDjELnTa0
>>19
すまん、一個目省略だめかも
24 : 2022/03/17(木) 14:17:45.550 ID:EHV5nUTf0
>>19
省略したら0回以上の繰り返しになるはず
15 : 2022/03/17(木) 14:08:43.802 ID:aAwvUhEgd
/の左側はこれでいいのはわかる

(\d{1,3})

右側が

(\d{1,6})

(\d{1,3}.\d{3})

のどちらかならおっけーってしたいんだがどうすればいい?

17 : 2022/03/17(木) 14:10:13.065 ID:EHV5nUTf0
\d{1,3}/(\d{1,6}|\d{1,3}\.\d{3})
18 : 2022/03/17(木) 14:10:18.646 ID:ekX+XfDtd
|記号使えばよくね?C++なかったっけ
21 : 2022/03/17(木) 14:12:31.841 ID:msSba5Pcp
スマホで中括弧の書き方がわからなかった
26 : 2022/03/17(木) 14:25:26.838 ID:EHV5nUTf0
[]の中の^は否定だぞ
29 : 2022/03/17(木) 14:28:52.633 ID:PX3O/JZT0
>>26
行末も否定しちゃってる?
28 : 2022/03/17(木) 14:27:59.196 ID:EHV5nUTf0
行頭なら^で書き始めればいい
ワードの境目なら\bで囲めばいい
30 : 2022/03/17(木) 14:31:51.262 ID:aDjELnTa0
省略できてても0以上なら要件満たさないんよな

.も否定ってどうなんだろな

31 : 2022/03/17(木) 14:36:03.178 ID:iACypLsB0
正規表現使ったって、どうせコンパイル後はifと文字コード使ってベタ書きしたのと同じになると思うけど
何なら可読性損なうまである

コメント

タイトルとURLをコピーしました