using System;
using System.Text .RegularExpressions ;
public class Test
{
public static void Main( )
{
string[ ] strings = {
"...somethingashisomething..." ,
"...something2!ashi*&something... " ,
"... something ashi something flashing..." ,
"...somethingflashingsomething..." ,
"...smashingthesomething..." ,
"...the lashings are too tight... "
} ;
string pattern = @"(?<!(?:sm|f?l)(?=ashing))ashi" ;
foreach ( String s in strings) {
if ( Regex.IsMatch ( s, pattern) ) {
Console.WriteLine ( "Match: {0}" , s) ;
} else {
Console.WriteLine ( "No match: {0}" , s) ;
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJc3RyaW5nW10gc3RyaW5ncyA9IHsKICAgICAgICAgICAgIi4uLnNvbWV0aGluZ2FzaGlzb21ldGhpbmcuLi4iLAogICAgICAgICAgICAiLi4uc29tZXRoaW5nMiFhc2hpKiZzb21ldGhpbmcuLi4gIiwKICAgICAgICAgICAgIi4uLiBzb21ldGhpbmcgYXNoaSBzb21ldGhpbmcgZmxhc2hpbmcuLi4iLAogICAgICAgICAgICAiLi4uc29tZXRoaW5nZmxhc2hpbmdzb21ldGhpbmcuLi4iLAogICAgICAgICAgICAiLi4uc21hc2hpbmd0aGVzb21ldGhpbmcuLi4iLAogICAgICAgICAgICAiLi4udGhlIGxhc2hpbmdzIGFyZSB0b28gdGlnaHQuLi4gICAiCiAgICAgICAgICAgIH07CgogICAgICAgIHN0cmluZyBwYXR0ZXJuID0gQCIoPzwhKD86c218Zj9sKSg/PWFzaGluZykpYXNoaSI7CiAgICAgICAgZm9yZWFjaCAoU3RyaW5nIHMgaW4gc3RyaW5ncykgewogICAgICAgICAgICBpZiAoUmVnZXguSXNNYXRjaChzLCBwYXR0ZXJuKSkgewogICAgICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIk1hdGNoOiB7MH0iLCBzKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJObyBtYXRjaDogezB9Iiwgcyk7CiAgICAgICAgICAgIH0KICAgICAgICB9Cgl9Cn0=