我想找到我的Xcode項目的所有力量展開變量。例如任何事,它類似於:正則表達式模式來查找迫使展開變量
variableName!.property
或
variableName!,
或
variableName! : otherVariable
或
variableName!)
或以武力任何其他類似事件解開變量。什麼樣的正則表達式模式可以用於Xcode搜索?
我想找到我的Xcode項目的所有力量展開變量。例如任何事,它類似於:正則表達式模式來查找迫使展開變量
variableName!.property
或
variableName!,
或
variableName! : otherVariable
或
variableName!)
或以武力任何其他類似事件解開變量。什麼樣的正則表達式模式可以用於Xcode搜索?
這將只搜索有效的變量名稱(以字母開頭的字母數字字符串),然後是!
,然後是空格,製表符,換行符或句點,逗號,冒號或右括號。這種搜索也排除發現的try!
和as!
實例。
([A-z]+[A-Za-z0-9]*(?<![(try)(as)])![.,:)\n\t\r ])
接下來的這個模式將匹配try!
和as!
,如果你有興趣在尋找那些爲好。
([A-z]+[A-Za-z0-9]*![.,:)\n\t\r ])
應當注意這兩種模式也將匹配變量類型是力展開自選(一種常見的變量是力量解開被@IBOutlet
S)
一種寫作真的好資源和測試正則表達式是regexr.com
我用這個,但拿出了新的一行字符。感謝大家! – Tometoyou
不防呆(這將需要一個完整的閱讀斯威夫特語法),但不夠好,在大多數情況下:
\w[\w\d]*!
中當然,你可以簡單地搜索!
- 一對夫婦只採用了比力展開其他還有:陰性(!=
)和布爾(!valid
)。您可以在搜索中搜索一些字符串文字,但除非您正在編寫自動工具,否則它並不重要。
在增加的情況下!也用於不平等和測試布爾值 – geraldWilliam
@geraldWilliam謝謝。更新我的答案 –
我不認爲有100%的滿足您的需求的任何正則表達式。如果你需要這種精度水平(即你正在編寫一個自動工具),你需要深入研究[Clang Abstract Syntax Tree](http://clang.llvm.org/docs/IntroductionToTheClangAST.html) –