在这个正则表达式中需要帮助
Need help in this Regular Expression
我使用的正则表达式:
%s??[a-z](:\d+|)(^\[)?
字符串是:
"%sprix is the %s[4] online %s[3]:6 pshopping %s:9 in %s"
我试图从字符串中找到除 %s[4]
和 %s[3]
之外的所有 %s
。
我使用上述正则表达式的输出没有给出预期的结果。
预期输出为:
%s, %s:9, %s
我的输出是:
%s, %s[ , %s[, %s:9, %s
您可以使用
%s(?!\[)(?::\d+)?
参见regex demo。
详情:
%s
- 百分号和 s
(?!\[)
- 后面没有跟 [
(?::\d+)?
- :
和一个或多个数字 的可选序列
当 %s
后跟 [
时,上述正则表达式在所有情况下都将无法匹配,例如在 %s[text
。如果只想在 %s
后跟 [
+number+]
时匹配失败,请使用 %s(?!\[\d+\])(?::\d+)?
.
我使用的正则表达式:
%s??[a-z](:\d+|)(^\[)?
字符串是:
"%sprix is the %s[4] online %s[3]:6 pshopping %s:9 in %s"
我试图从字符串中找到除 %s[4]
和 %s[3]
之外的所有 %s
。
我使用上述正则表达式的输出没有给出预期的结果。
预期输出为:
%s, %s:9, %s
我的输出是:
%s, %s[ , %s[, %s:9, %s
您可以使用
%s(?!\[)(?::\d+)?
参见regex demo。
详情:
%s
- 百分号和s
(?!\[)
- 后面没有跟[
(?::\d+)?
-:
和一个或多个数字 的可选序列
当 %s
后跟 [
时,上述正则表达式在所有情况下都将无法匹配,例如在 %s[text
。如果只想在 %s
后跟 [
+number+]
时匹配失败,请使用 %s(?!\[\d+\])(?::\d+)?
.