sách gpt4 ai đã đi

Biểu thức chính quy - nếu số đầu tiên là 1 thì trả về 1 nhưng nếu là 145 thì trả về 145 nhưng nếu là 133 thì trả về 133

In lại 作者:行者123 更新时间:2023-12-01 11:33:18 30 4
mua khóa gpt4 Nike

这是我的正则表达式 thử nghiệm

如问题所述:

如果第一个数字是 1 则返回 1 但如果是 145 则返回 145 但如果是 133 则返回 133

样本数据a:

K'8134567
K'81345678
K'6134516789
K'61345678
K'643456
K'646345678
K'1234567890
K'12345678901
K'1454567890 <<<--- want 145 returned and not 1
K'13345678901 <<<--- want 133 returned and not 1
K'3214567890123
K'32134567890123
K'3654567890123
K'8934567890123
K'6554567890123

正则表达式:

K'(?|(?P81)\d+|(61)\d+|(64)\d+|(1)\d+|(44)\d+|(86)\d+|(678)\d+|(41)\d+|(49)\d+|(33)\d+|(685)\d+|(\d{1,3})\d+)

正则表达式解释:

我对K'之后的数字感兴趣
我希望使用正则表达式来执行此操作,但不确定是否可以完成。
我想要的是:
如果数字以 81 开头,则返回 81
如果数字以 61 开头,则返回 61
...如果数字以我不感兴趣的内容开头,则返回其他(或其 1-3 的第一个数字)

以上标准有效:

但我的问题是如何执行以下操作:
如果第一个数字是 1 则返回 1 BUT
如果第一个数字是 1,第二个和第三个数字是 45,则返回 145 而不要只返回 1
如果第一个数字是 1,第二个和第三个数字是 33,则返回 133 而不是只返回 1

我想我必须在正则表达式 |(1)\d+| 的这一部分中放一些东西

其他问题供自己引用:正则表达式是否首先对数据进行排序?正则表达式搜索的顺序对其实现方式是否重要?我真的不想要这个。

1 Câu trả lời

你可以使用这个正则表达式:

K'(?P81|61|64|44|86|678|41|49|33|685|1(?:33|45)?|\d{2,3})\d+

Updated RegEx Demo

关于正则表达式 - 如果第一个数字是 1 返回 1 但如果它是 145 返回 145 但如果它的 133 返回 133,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31951683/

30 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com