Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用正则表达式捕获两个星号之间的所有内容_C#_Regex - Fatal编程技术网

C# 使用正则表达式捕获两个星号之间的所有内容

C# 使用正则表达式捕获两个星号之间的所有内容,c#,regex,C#,Regex,我正在从JIRA导出几个问题,就像这样,它们使用星号来处理格式。我希望在word文档中保留这种格式,但是,有时星号会给我带来一些问题。我目前有一个正则表达式,用于获取两个星号之间的文本: (\*.+?\*) 此正则表达式将匹配我正在查看的一组重要项: *这是一个粗体的句子*。这不是*这又是一个问题。* 匹配: 这是一个粗体的句子 这又是 但是,当我想检查以下句子时: *将下拉列表设置为(*.docx)并单击“保存”*。做下一件事。 它将只匹配: 将下拉列表设置为( 是否有一种方法可以根据以下内容

我正在从JIRA导出几个问题,就像这样,它们使用星号来处理格式。我希望在word文档中保留这种格式,但是,有时星号会给我带来一些问题。我目前有一个正则表达式,用于获取两个星号之间的文本:

(\*.+?\*)

此正则表达式将匹配我正在查看的一组重要项:

*这是一个粗体的句子*。这不是*这又是一个问题。*

匹配:

这是一个粗体的句子
这又是

但是,当我想检查以下句子时:

*将下拉列表设置为(*.docx)并单击“保存”*。做下一件事。

它将只匹配:

将下拉列表设置为(

是否有一种方法可以根据以下内容进行匹配?例如,如果有一个星号周期和空格,或者有一种方法指定避免使用星号周期字母,那么它将匹配:

将下拉列表设置为(*.docx)并单击“保存”


我试图修改当前的正则表达式,但似乎找不到有效的东西。即使使用否定集
[^*]
和否定前瞻
(?!\*\)

如果在
*
后面有一个点和非空格字符,您可以在关闭
*
后使用此带有负前瞻性的正则表达式使匹配失败:

\*.*?\*(?!\.\S)

  • (?!\。\S)
    是一种消极的前瞻,当在关闭后紧接着一个点和一个非空白字符时,可以断言失败

?问题是您使用的分隔符(一对星号)可以用作文本。如果您跳过嵌入的星号,则您的
这是一个粗体句子…
示例可能只得到一个结果,而不是两个。如果您的“句子”总是以句号结尾(在星号之前),然后您可以查找“`.*”。我确信您需要包含更多关于如何分隔要捕获的子字符串的信息,以使其正常工作。宏语言倾向于在其标识符中使用奇怪的{{characters}}或$(sequences)是有原因的。