Regular expressions \b but with not just alphanumeric characters in c#

后端 未结 2 2032
悲&欢浪女
悲&欢浪女 2021-01-22 05:35

I want the same functionality as \\b but with other characters.

In C#, I want to have something like

string str = \"\\\\b\" + Regex.Escape(         


        
2条回答
  •  北海茫月
    2021-01-22 05:52

    For this you'd need a conditional word boundary at each end.
    It just guards the string begin and end, if it's a word, it must be at
    a word boundary.

    If it's not a word, the default is nothing, as it should be.

     (?(?= \w )
          \b 
     )
     (?: @\(Something )
     (?(?<= \w )
          \b 
     )
    

    So, it ends up looking like

    string str = "(?(?=\\w)\\b)" + Regex.Escape(string) + "(?(?<=\\w)\\b)";
    

    Regexstorm.net demo

    This takes the guesswork out of it.

提交回复
热议问题