2016-07-30 19:59

Golang中的正则表达式：如何设置使字符串不匹配的字符？

I am a noob about regular expressions (sorry). I was trying to make a very simple markup language that matches bold and italic and then converts them to HTML. Here is an example for bold that I'm using:

``````var bold = regexp.MustCompile("\\*([^\\*]+)\\*")
``````

It matches everything between two asterisks. Now, I'd like it to match `*test*` but not `\*test*`. Since I don't know much about regular expressions but I'm trying to make this experiment, I'd like to know what's the way for that. I searched everywhere but couldn't find the way to make this work.

图片转代码服务由CSDN问答提供 功能建议

``` ``` var粗体= regexp.MustCompile（“ \\ *（[  ^ \\ *] +）\\ *“）

它匹配两个星号之间的所有内容。 现在，我希望它匹配 * test * ，但不匹配 \ * test * 。 由于我对正则表达式了解不多，但我正在尝试进行此实验，所以我想知道这样做的方式。 我到处搜索，但找不到使这项工作有效的方法。
``````
` `
``` 写回答 赞 踩 关注问题 收藏 分享 邀请回答 ```
``` 1条回答 默认 最新 douyu9012 2016-07-30 20:28 已采纳 Updated Go does not support lookbehinds. So a workaround can be: (?:\A|(?:[^\\]+|\A)(\\{2})+|[^\\])\*([^\\*]+)\* 已采纳该答案 赞 踩 打赏 评论 分享 报告相同问题？ 提交 关注问题 相关推荐 更多相似问题 Golang中的正则表达式：如何设置使字符串不匹配的字符？ 2016-07-30 19:59 回答 1 已采纳 Updated Go does not support lookbehinds. So a workaround can be: (?:\A|(?:[^\\]+|\A)(\\{2})+|[^\ Golang正则表达式：[]字符串的FindAllStringSubmatch 2015-04-29 08:05 回答 2 已采纳 It's all explained extensively in the package's documentation. Read the parapgraph which explains 正则表达式匹配golang中不以www开头的字符串 2018-10-04 13:48 回答 2 已采纳 If you're really bent on creating a negative lookahead manually, you will need to exclude all poss go的string正则匹配,查找与正则表达式golang匹配的所有字符串 2021-01-13 22:42 weixin_39636691的博客 I am trying to return an array, or slice, with all the matches for a specific regex expression against a string. The string is:{city}, {state} {zip}I want to return an array with all the matches of ... 【golang】正则表达式 查找和替换字符 2019-01-13 01:53 一筐大白菜啊的博客 正则表示式即在一个字符串查找满足匹配规则的子字符串 1) 正则表达式的描述模式， 1.1。 连接操作 连接操作就是匹配连接后的结果 有 hello和 go 两个单词将它们连接起来，用正则表式为 (hello)(go)，就是连接... golang字符串及正则表达式 2021-05-24 15:24 qq_27664967的博客 **# golang字符串及正则表达式 package main import ( "log" "regexp" "strings" ) func main() { var s1 = "Hello world" var s2 = "Hello world" var s3 = "/zh/en?q=google" log.Printf("判断相等: %v",... 在Golang中使用正则表达式确保特定的字符在字符串中，而不管位置如何 2019-04-20 02:51 回答 1 已采纳 Since golang use re2, it doesn't support positive-lookahead (?=regex), so I'm not sure if there is Golang如何用正则表达式组替换字符串？ [重复] 2017-04-24 10:48 回答 1 已采纳 Use \$1, \$2, etc in replacement. For example: re := regexp.MustCompile(`(foo)`) s := re.ReplaceAll 如何查找与正则表达式golang匹配的所有字符串？ 2016-08-23 13:41 回答 1 已采纳 First, you do not need the regex delimiters. Second, it is a good idea to use raw string literals golang之正则校验(验证某字符串是否符合正则表达式) 2019-03-19 20:07 思月行云的博客 Go语言中使用正则校验需要用到 regexp 包 先介绍几种常用的方法： 1、 使用MatchString函数 regexp.MatchString(pattern string, s string) pattern为正则表达式，s为需要校验的字符... golang 正则表达式去除字符串空格 2021-05-12 16:09 唐一墨的博客 golang中string操作是一个比较频繁的工作。其中去除空格、换行、空白符是经常需要的。 源码： ... //匹配一个或多个空白符的正则表达式 reg := regexp.MustCompile("\\s+") return reg.ReplaceAllStr. Golang 正则表达式匹配 2020-05-22 22:26 wwxy261的博客 一般来说，匹配正则的思路是先写具体要匹配的字符串，然后在将具体的例子变为抽象的例子。(html模版技术也是这么用的) 正则表达式的常见符号说明： 写出的第一个正则表达式是 这段代码解决不了空格的问题... Golang正则表达式匹配并替换某个字符串后的第一个匹配项 2019-02-26 23:27 回答 1 已采纳 You may use ReplaceAllStringFunc and use a regex like (?m)^bar:(?: \s{4}.*)+ See the regex demo 在Go正则表达式中分割浮点字符串 2019-04-29 07:47 回答 1 已采纳 Why do you need regexp for this? Simply slice the string: func split(s string) []string { if 如何在Golang中的正则表达式中的第一个匹配项之前插入子字符串？ 2019-07-04 05:18 回答 2 已采纳 You may use str := "abcd ORDER BY LIMIT" exp := regexp.MustCompile(`^(.*?)(ORDER\s+BY|LIMIT|\$)`) 一个正则表达式导致CPU 利用率居高不下 2020-12-13 14:42 藏在正则表达式里的陷阱，一个正则表达式导致CPU 利用率居高不下 我们可以看到所有的堆栈都指向了一个名为 validateUrl 的方法，这样的报错信息在堆栈中一共超过 100 处。通过排查代码，我们知道这个方法的主要功能... golang正则表达式的使用详解 2018-11-24 14:34 wade3015的博客 正则表达式灵活、易用，按照它的语法规则，随需构造出的匹配模式就能够从原始文本中筛选出几乎任何你想要得到的字符组合。使用正则表达式需引入&amp;quot;regexp&amp;quot;包，通常还需与&amp;quot;... Golang中的正则表达式 2019-02-27 19:12 一只快乐的小码农的博客 Golang中的正则表达式 【用法】 单一： . 匹配任意一个字符，如果设置 s = true，则可以匹配换行符 [字符类] 匹配“字符类”中的一个字符，“字符类”见后面的说明 [^字符类] 匹配“字符类”外的一个字符，... golang如何使用正则表达式将字符串拆分为包含分界符的切片 2016-08-13 01:01 回答 1 已采纳 You can do that by creating a regular expression that matches either a word or one of your special Golang正则表达式不支持复杂正则和预查问题解决 2021-07-15 21:17 羁士的博客 Golang正则表达式不支持复杂正则和预查问题解决 我有一个需求，需要匹配一段字符串中第几季的这个几，那么按正则表达式的语法，我的表达式应该是这样的 `(?<=第)\d+(?=季)` 然而，当我用go官方包regexp的时候，... 没有解决我的问题, 去提问```
``` 点击登录 提问题 ◇ 欢迎建议意见 ◇ 回答问题能得到什么 ◇ 如何写高质量的提问和回答 ◇ 问答使用帮助文档 加急问题 ¥300 存储过程，计算一个字符串中每一个字母的数量，今晚有效 ¥201 通过设置SplitscreenInfo修改显示位置，安卓端效果与其他平台不一致，我应该如何达到和其他平台一致的效果？ ¥100 c#写的软件，exe自启动怎么过杀毒呢？ ¥100 100￥悬赏一个问题解决办法（C#） ¥100 vue轮播松手时卡顿，ios14.6及以上版本的手机，app中内嵌vue页面轮播卡顿问题 ¥100 x265上怎么实现GPB（广义b帧） ¥100 怎么提取极速电竞的token ¥90 MATLAB如何实现带等式和不等式约束条件的最小二乘法拟合多元多项式 ¥65 @poincut 后面的参数如何动态化 Spring boot AOP ¥50 Win10如何还原电源里面的详细选项？ ```
``` ```
``` window.csdn.sideToolbar = { options: { afterFinished: function () { setTimeout(function () { var helphtml = '<a class="option-box" data-type="help" href="https://ask.csdn.net/questions/7441224" target="_blank">'+'<img src="https://g.csdnimg.cn/side-toolbar/2.5/images/bangzhucopy.png" alt="" srcset="">'+ '<span class="show-txt">帮助</span></a>'; \$('.csdn-side-toolbar > a:last').before(helphtml); }, 300); }, contentEl: document.getElementsByClassName('floor')[0] } } ```