我張貼了這個問題而回,這是回答得很好: Complex regex to split up a string複雜的正則表達式來分割字符串 - 第2部分
我知道有與此相關的一個新的難題,而且我真的不Anywhere入門。 ..
說我現在有一個這樣的字符串:
{foo.bar:/?a{3\}}{blah}
使用在上一篇文章所提供的代碼,它這樣做:
{foo.bar:/?a
{3\}}
{blah}
我希望它這樣做:
{foo.bar:/?a{3\}}
{blah}
這是因爲我現在要處理的是不要在示例中的第二大括號前有一個逃生的字符串。我需要一些可以識別什麼時候忽略某些開放大括號的代碼。例如。如果從左到右閱讀字符串,它會看到第一個開口花括號,然後當它看到第二個開口花括號時,它有點說「掛着,我還沒有看到有效的關閉花括號,所以我打算忽略這個'。這可能嗎?我明白,它可能不完全可能使用純粹的正則表達式。
這是我從這是造成問題前一個問題使用的代碼的起始部分:
var m = str.match(/{?(\\.|[^{}])+}?/g);
或者另一種解決方案可能是,當用戶鍵入&事先提交的字符串,它在沒有用戶看到的情況下滑入反斜線中。這樣做的麻煩是知道哪些逃避反斜槓從用戶'隱藏'...
乍一看,它看起來像遞歸和/或迭代正則表達式的工作。 – kevlar1818