程序猿不缺对象 发表于 2022-11-26 21:03

C#正则表达式求助

{"code":1,"data":{"question":"Windows环境下可以用来修改主机默认网关设置的命令是    ArouteBipconfig   CNETDNBTSTAT","answer":"A","times":10068,"_":true},"message":"请求成功"}

如题所示,如何使用正则表达式把红色的字(题目和选项)提取出来放到数组中?
注:题目和选项之间,选项和选项之间可能有多个空格

czy12 发表于 2022-11-26 21:22

从6666666666

langjty 发表于 2022-11-26 21:41

找一个在线正则表达式测试的网站,按照你想要的要求,以及网站提示,一点点尝试输入,会有收获的!

tianluo 发表于 2022-11-26 22:23

数据格式固定的话,可以尝试取question,用空格切分题目和选项

小屎球 发表于 2022-11-26 22:46

先用json 提取question内容然后用正则零宽断言(?=A)\S*匹配A选项

pojie2001 发表于 2022-11-27 05:40

用啥正则,用splite("")空格分割字符串,好像有个选项去空字符串,或者手动把长度0的去掉

程序猿不缺对象 发表于 2022-11-27 11:15

pojie2001 发表于 2022-11-27 05:40
用啥正则,用splite("")空格分割字符串,好像有个选项去空字符串,或者手动把长度0的去掉

有可能有空格,也有可能没有

frankrx41 发表于 2022-12-1 14:16

本帖最后由 frankrx41 于 2022-12-1 14:18 编辑

简单测试的表达式:

"question":"(\S+)\s+A(\S+)\s*B(\S+)\s*C(\S+)\s*D(\S+)\s*

应该可以用, 但是还是推荐用 json 库把 "question" 里面的字符串提取出来再跑正则
页: [1]
查看完整版本: C#正则表达式求助