Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >模式[xx_- ].[xx_- ] C#的正则表达式

模式[xx_- ].[xx_- ] C#的正则表达式
EN

Stack Overflow用户
提问于 2013-12-03 09:29:26
回答 4查看 145关注 0票数 3

Hello试图为模式编写一个正则表达式: anything.anything

因此,模式需要从正方形大括号开始,然后可以包含任何东西(a-z位数、下划线、空格和破折号),后面是结束方括号,后面是圆点,后面是另一组方括号,里面有任何东西。

到目前为止,这就是我所拥有的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(\\[)((?:[a-z][a-z]+)).*?(\\])(\\.)(\\[)((?:[a-z][a-z]+)).*?(\\])

它适用于something.anything,但也适用于某些东西。[任何<--不应该匹配(必须以方括号结尾)也适用于某些东西。<--不应该匹配

如有任何帮助,将不胜感激。

编辑:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 string pattern = @"\[[^\]]*\]\.\[[^\]]*\]";
 foreach (Match match in Regex.Matches(haystack, pattern,RegexOptions.IgnoreCase | RegexOptions.Singleline |RegexOptions.Multiline))
{ 
    do some stuff
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-12-03 09:40:29

我设法让

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\[[a-z0-9\s_-]*\]\.\[[a-z0-9\s_-]*\]

虽然我肯定会有一些例外,但似乎对我尝试过的每件事都很有效,这就是正则表达式!

编辑:

我可能会使用它,因为它不匹配跨行,而且不那么贪婪(贪婪会导致它跨越多个项目,这是不可取的)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\[[a-zA-Z0-9 -_]*?\]\.\[[a-zA-Z0-9 -_]*?\]

http://regexr.com?37fvh

票数 2
EN

Stack Overflow用户

发布于 2013-12-03 09:36:34

您可以使用这个regexp来避免回溯

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@"\[[^\]]*\]\.\[[^\]]*\]"

表达式由两个由点\.子表达式分隔的相同子表达式组成,如下所示:

  • \[ -一个开口的方括号,
  • [^\]]* -除结束方括号外的任何字符序列,
  • \] -关闭方括号。
票数 4
EN

Stack Overflow用户

发布于 2013-12-03 09:32:25

这似乎是可行的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\[.*\]\.\[.*\]

示例

更新以解决贪婪的关切:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\[[^\[]*].\[[^\]]*\]

示例2

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20357788

复制
相关文章
C# 正则表达式
正则表达式到底是什么东西? 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。 常用元字符
跟着阿笨一起玩NET
2018/09/18
2.1K0
C# 正则表达式
C# 正则表达式
转载:http://www.runoob.com/csharp/csharp-regular-expressions.html 正则表达式 是一种匹配输入文本的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。 定义正则表达式 下面列出了用于定义正则表达式的各种类别的字符、运算符和结构。 字符转义 字符类 定位点 分组构造 限定符 反向引用构造 备用构造 替换 杂项构造 字符转义 正则表达式中的反斜杠字符(\)指示其后跟的字符是特殊字符,或应按原义解释该字符。
悟空聊架构
2018/05/18
1.7K0
C# 正则表达式
转载:http://www.runoob.com/csharp/csharp-regular-expressions.html 正则表达式 是一种匹配输入文本的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。 定义正则表达式 下面列出了用于定义正则表达式的各种类别的字符、运算符和结构。 字符转义 字符类 定位点 分组构造 限定符 反向引用构造 备用构造 替换 杂项构造 字符转义 正则表达式中的反斜杠字符(\)指示其后跟的字符是特殊字符,或应按原义解释该字符。
悟空聊架构
2018/06/26
7680
C# 正则表达式
最近写爬虫时需要用到正则表达式,有段时间没有使用正则表达式现在渐渐感觉有些淡忘,现在使用还需要去查询一些资料。为了避免以后这样的情况,在此记录下正则表达式的一些基本使用方法附带小的实例。让以后在使用时能一目了然知道他的使用,为开发节约时间,同时也分享给大家。
zls365
2021/03/16
1.6K0
C# 8 的模式匹配
C# 7 里面的Pattern Mathing 更多内容请查看官方文档:https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp
solenovex
2019/10/15
1.1K0
C# 8 的模式匹配
C#设计模式09——组合模式的写法
组合模式是一种结构型设计模式,它允许将对象组合成树形结构以表示“整体/部分”层次结构。使用此模式,客户端可以按相同的方式处理单个对象和对象集合,而不必关注它们是单个对象还是组合对象。组合对象本身也可以作为容器,包含其他组合对象,形成更复杂的树形结构。
明志德道
2023/10/21
1990
C#设计模式12——代理模式的写法
代理模式是一种结构型设计模式,它允许通过代理对象来控制对真实对象的访问,以提供额外的功能或控制访问权限。
明志德道
2023/10/21
1700
C#设计模式10——外观模式的写法
外观模式(Facade Pattern)又称门面模式,是一种结构型设计模式,它提供了一个统一的接口,用来访问一个子系统中一群功能相关联的接口。外观模式定义了一个高层接口,让子系统更容易使用。
明志德道
2023/10/21
1780
聊聊 C# 中的 Composite 模式(组合模式)
Composite组合模式属于设计模式中比较热门的一个,相信大家对它一定不像对访问者模式那么陌生,毕竟谁又没有遇到过树形结构呢。不过所谓温故而知新,我们还是从一个例子出发,起底一下这个模式吧。
独立观察员
2022/12/06
3760
聊聊 C# 中的 Composite 模式(组合模式)
正则表达式的多行模式和单行模式
首先一般正则表达式的^ $只能匹配字符串的开头和结尾。例如调用ReadLine(可以在任意编程语言中对号入座 :P)函数,那么这两个锚点字符就正好匹配了一行的行首和行尾。但是如果一个字符串中有多行,那么这两个锚点匹配符将匹配内部的换行。
用户4889496
2022/11/15
1.1K0
C#常见正则表达式
"^\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1
恋喵大鲤鱼
2018/08/03
7150
解读C#中的正则表达式
 多少年来,许多的编程语言和工具都包含对正则表达式的支持,.NET基础类库中包含有一个名字空间和一系列可以充分发挥规则表达式威力的类,而且它们也都与未来的Perl 5中的规则表达式兼容。   此外,regexp类还能够完成一些其他的功能,例如从右至左的结合模式和表达式的编辑等。   在这篇文章中,我将简要地介绍System.Text.RegularExpression中的类和方法、一些字符串匹配和替换的例子以及组结构的详细情况,最后,还会介绍一些你可能会用到的常见的表达式。 应该掌握的基础知
脑洞的蜂蜜
2018/02/02
1.4K0
C#正则表达式大全
这是我发了不少时间整理的C#的正则表达式,新手朋友注意一定要手册一下哦,这样可以节省很多写代码的时间。下面进行了简单总结。
全栈程序员站长
2022/09/07
1.2K0
C# 使用正则表达式
使用正则匹配: C#中字符串常量以@开头,这样优点是转义序列不被处理,按“原样”输出
微软技术分享
2022/12/28
1.3K0
C#设计模式之策略模式
  策略模式是针对一组算法,将每个算法封装到具有公共接口的独立的类中,   从而使它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。
小小许
2020/01/15
8310
C# 正则表达式实例
控制台主要是为了测试验证,你输入测试数据后,能匹配上就返回对应值,匹配不上就是空的。如下图
用户9127601
2021/11/01
4460
C#设计模式18——迭代器模式的写法
迭代器模式是一种行为型设计模式,它允许客户端通过一种统一的方式遍历集合对象中的元素,而无需暴露集合对象的内部结构。
明志德道
2023/10/21
1470
C#设计模式16——中介者模式的写法
中介者模式是一种行为型设计模式,它定义了一个中介者对象来封装一系列对象之间的交互。中介者模式可以使得对象间的交互更加松耦合,避免了对象之间的直接依赖,从而使系统更加灵活、易于扩展和维护。
明志德道
2023/10/21
1720
C#设计模式19——装饰器模式的写法
装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许你动态地给一个对象添加一些额外的职责,而不需要修改这个对象的代码。
明志德道
2023/10/21
3240
C#设计模式02——原型模式的写法
 源码下载:https://gitee.com/weilong2020/csharp_23_-design-patterns.git
明志德道
2023/10/21
1160
C#设计模式02——原型模式的写法

相似问题

C#正则表达式模式

54

c#正则表达式模式

21

正则表达式模式C#

30

匹配的C#正则表达式模式

11

模式的C#正则表达式语法

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文