怎么写提取两个字符之间的字符串(正则表达式)

我写的正则表达式是提取双引号中的字符串,如下:\".+\",但是提取出来的字符串包含了这个双引号在里面,请问我怎么将双引号去掉?... 我写的正则表达式是提取双引号中的字符串,如下:\".+\" ,但是提取出来的字符串包含了这个双引号在里面,请问我怎么将双引号去掉? 展开
 我来答
武珈蓝许PM
2018-03-31 · TA获得超过1.6万个赞
知道小有建树答主
回答量:115
采纳率:100%
帮助的人:1.8万
展开全部

1、这里要运用到MID函数以及LEFT函数,在B1单元格输入:=MID(A1,FIND("共",A1)+1,FIND(",",A1)-1-FIND("共",A1))

2、公式解释:如下图所示的,MID是截取字符函数,里内的参数,第1个:A1,是要截取字符所在单元格。第2个,FIND("共",A1)+1是所截取的字符开始的位数,用FIND找出”共“的所在字符串的位数,再加上1;那么,从表格中数据可以知道,”共“所在位数再加”1“位,就是”共“右边的数字了。

3、第3个,FIND(",",A1)-1-FIND("共",A1)是MID函数需要截取的字符个数,由FIND函数找出","所在位数减去1位后再减去由FIND函数找出"共"所在位数,就是需要截取的字符个数。

4、B1单元格输入公式后,按下回车键,得出结果”2860元“。

5、鼠标在B1单元格点下,再放在单元格右下角的绿色小方框上。

6、然后,鼠标左键双击,下方单元格即相应各自得出结果。

7、鼠标在其它单元格点下,完成上面的操作。

敛宏茂丑怡
2019-09-22 · TA获得超过3万个赞
知道大有可为答主
回答量:9893
采纳率:32%
帮助的人:719万
展开全部
可以这样写,不好意思,刚才多打了个感叹号
(?<=\").+(?=\")
这样匹配出来的正则表达式不包括前后引号
不过我觉得在加号后面要加个问号,当然得看具体情况了
(?<=\").+?(?=\")
直接加个圆括号,提取正则表达式的第一组数据不行吗?
\"(.+)\"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
茅美端元芹
2019-05-28 · TA获得超过3670个赞
知道大有可为答主
回答量:3062
采纳率:27%
帮助的人:186万
展开全部
可以这样写,不好意思,刚才多打了个感叹号
(?<=\").+(?=\")
这样匹配出来的正则表达式不包括前后引号
不过我觉得在加号后面要加个问号,当然得看具体情况了
(?<=\").+?(?=\")
直接加个圆括号,提取正则表达式的第一组数据不行吗?
\"(.+)\"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
albumin
2013-06-15 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2321万
展开全部
可以这样写,不好意思,刚才多打了个感叹号
(?<=\").+(?=\")
这样匹配出来的正则表达式不包括前后引号

不过我觉得在加号后面要加个问号,当然得看具体情况了
(?<=\").+?(?=\")
直接加个圆括号,提取正则表达式的第一组数据不行吗?
\"(.+)\"
追问
\"(.+)\"加上小括号不起作用啊,提取的字符串还是包含了双引号。

再问一下,我是用google go 语言(和c语言差不多的,用正则表达式的程序执行效率会不会比较低?
追答
package main
import(
    "fmt"
    "regexp"
)

var myExp=regexp.MustCompile("\"(?P<first>.+)\"")
 
func main(){
    str:="this is a \"test\""
    match:=myExp.FindStringSubmatch(str)
    mmap:=make(map[string]string)
    for i,name:=range myExp.SubexpNames(){

          if name=="first"{
          mmap[name]=match[i]
}
 
    }
    
    fmt.Println(mmap["first"])
    
}


上面的GO程序打印出\".+\"这个正则匹配的字符串去掉双引号后的结果,main函数中的str变量为要从中提取的字符串


没见过写正则要这么复杂的语言,估计也没几个人会学

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式