首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >劈裂判据

劈裂判据
EN

Stack Overflow用户
提问于 2009-12-08 19:03:03
回答 3查看 258关注 0票数 1

我想拆分一个字符串,例如

代码语言:javascript
复制
"[1-5]?3456[2-5][4-D]"

代码语言:javascript
复制
array[0] = "[1-5]"
array[1] = "?"
array[2] = "3"
array[3] = "4"
array[4] = "5"
array[5] = "6"
array[6] = "[2-5]"
array[7] = "[4-D]"

有谁能告诉我用分裂的正则表达式是否有这个可能?

我有三个元素"3“一个字母(可以是1-9和and,"?”白色建筑,"1-5“a范围( 1-9 + A-F)

编辑:匹配的示例如下

代码语言:javascript
复制
"[1-5]?3456[2-5][4-D]"

"?4A9[1-F]?[A-D]1"

"12459987"

"[1-F][1-F][1-F][1-F][1-F][1-F][1-F][1-F]"
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-08 19:10:34

特普索测试

代码语言:javascript
复制
(\[[^]]+\])|.

若要使用此表达式获取拆分,可以使用以下代码:

代码语言:javascript
复制
var input = "[1-5]?3456[2-5][4-D]";
var pattern = new Regex(@"(\[[^]]+\])|(.)", 
                        RegexOptions.CultureInvariant | RegexOptions.Compiled);

IEnumerable<string> parts = from m in pattern.Matches(input).Cast<Match>()
                            select m.Captures[0].Value;
票数 8
EN

Stack Overflow用户

发布于 2009-12-08 19:05:41

嗯..。

代码语言:javascript
复制
\[[^]]*\]|.
票数 0
EN

Stack Overflow用户

发布于 2009-12-08 19:54:20

试试这个:

代码语言:javascript
复制
string pattern = @"(\[[1-9A-F?]-[1-9A-F?]\])|[1-9A-F?]";
string input = "[1-5]?3456[2-5][4-D]";
MatchCollection matches = Regex.Matches(input, pattern);

foreach (Match m in matches)
    Console.WriteLine(m.Value);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1869136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档