Учитывая приведенный ниже пример, как бы я сопоставлял каждый дефис между словами «CAST» и «DATETIME»? (CAST(N'2013-11-26 10:52:47.957' AS DateTime)
)Регулярное выражение для соответствия дефиса между двумя конкретными словами
Узор возникает несколько раз за строку. В строке могут быть дефисы нигде, которые не должны совпадать.
INSERT [dbo].[tbl_Content] ([Template], [CreatedDate], [Url], [PublishedDate]) VALUES (N’gallery-item.aspx', CAST(N'2013-11-26 10:52:47.957' AS DateTime), N'some-url', CAST(N'2013-11-26 00:00:00.000' AS DateTime))
INSERT [dbo].[tbl_Content] ([Template], [CreatedDate], [Url], [PublishedDate]) VALUES (N’another-item.aspx', CAST(N'2013-11-26 10:52:47.957' AS DateTime), N'some-other-url', CAST(N'2013-11-26 00:00:00.000' AS DateTime))
CAST(.*)DateTime
выбирает все символы между первым вхождением «CAST» и последнего вхождения «DATETIME» на каждой строке. в этом выборе могут быть другие дефисы, которые не должны совпадать.
-
будет соответствовать любому дефису в документе.
Я думаю, мне нужно как-то совместить эти два шаблона, но мое знание регулярного выражения не существует. CAST(-)DateTime
не работает.
Каков правильный способ сделать это?
Если важна платформа: это будет использоваться для поиска-замены в Visual Studio Code. Если это невозможно, я абсолютно открыт для использования другого редактора текста/кода.
Это зависит от того, что инструмент/библиотеки регулярных выражений, который вы используете. –
Привет @ WiktorStribiżew, я хочу использовать это в find-replace в Visual Studio Code. Боюсь, я понятия не имею, какой libray они используют в фоновом режиме – Turnip
Извините, но это невозможно, поскольку VSC использует ECMAScript 5 regex. –