如何在Excel VBA中使用正则表达式来匹配单代码字符的方案。
要求
xxx業務データxxx - Match (if contains 業務データ character)
xxx定義。業務データxxx - Not match (if contains 定義。eventhough 業務データ character exists)
我尝试使用以下正则表达式但未获得正确的结果。请指导我或在我错误的地方纠正我。
- Regex pattern: ^(?!定義。)業務データ
- 定義。業務データxxx - Not match (As expected)
- 業務データxxx - Match (As expected)
- xxx業務データxxx - Not match (Failed)
- xxx定義。業務データxxx - Not match (As expected)
- Regex pattern: (?!定義。)業務データ
- 定義。業務データxxx - Match (Failed)
- 業務データxxx - Match (As expected)
- xxx業務データxxx - Match (As expected)
- xxx定義。業務データxxx - Match (Failed)
答案 0 :(得分:1)
尝试以下正则表达式
^((?!.*定義。.*))(.*業務データ.*)*$
<强>结果强>
- Regex pattern: ^((?!.*定義。.*))(.*業務データ.*)*$
- 定義。業務データxxx - Not match (As expected)
- 業務データxxx - Match (As expected)
- xxx業務データxxx - Match (As expected)
- xxx定義。業務データxxx - Not match (As expected)
- xxx定義業務データxxx - Match (As expected)
以下是链接:http://regexr.com/3gd4s
答案 1 :(得分:1)
您可以使用以下正则表达式:
^(?!.*定義。).*業務データ.*$
请参阅regex demo
模式的工作原理如下:
^
- 字符串的开头(?!.*定義。)
- 一个负向前瞻,试图尽可能多地匹配换行符(.*
)以外的任何0+字符,然后定義。
字符序列,如果找到,整个字符串失败.*
- 除了换行符之外的任何0 +字符(.*
)尽可能多業務データ
- 文字子字符串.*
- 除了换行符之外的任何0 +字符(.*
)尽可能多$
- 字符串结尾