[squeak-dev] The Inbox: Regex-Core-ct.61.mcz
Marcel Taeumel
marcel.taeumel at hpi.de
Thu Jul 8 07:06:51 UTC 2021
Hi Christoph,
I like the feature, I am not sure about the selectors you've chosen.
#escapeString:
#escapeRegex
#specialCharacters
I couldn't find any good examples in the image:
String >> #encodeForHTTP
String >> #unescapePercents
Character >> #escapeEntities (not used at all?!)
Hmm... maybe #reservedCharacters instead of #specialCharacters? Maybe #escapedRegex instead of #escapeRegex? And maybe String >> #asRegexEscaped?
Hmm... "does not contain any unescaped characters" means "only contains escaped characters"? Why is #escapeString: inverse to #matchesRegex:? I am confused. :-) The current names do not help me here.
Best,
Marcel
Am 08.07.2021 01:30:52 schrieb commits at source.squeak.org <commits at source.squeak.org>:
A new version of Regex-Core was added to project The Inbox:
http://source.squeak.org/inbox/Regex-Core-ct.61.mcz
==================== Summary ====================
Name: Regex-Core-ct.61
Author: ct
Time: 8 July 2021, 1:30:44.09436 am
UUID: 63655b8f-ad42-0946-b6fe-4dc3100995f1
Ancestors: Regex-Core-ct.59
Adds String >> #escapeRegex to escape special characters in a string before composing it into another regex.
Usage:
':-)' matchesRegex: ':-)' escapeRegex
=============== Diff against Regex-Core-ct.59 ===============
Item was added:
+ ----- Method: RxParser class>>escapeString: (in category 'utilities') -----
+ escapeString: aString
+ "Answer a copy of aString which does not contain any unescaped characters. This is the inverse function of String >> #matchesRegex:.
+ NB: Basically, we could simply escape every single character in the string, but this would not produce human-readable outputs."
+
+ ^ aString
+ copyWithRegex: ('[{1}]' format: {self specialCharacters collect: [:character | '\', character]})
+ matchesTranslatedUsing: [:match | '\', match]!
Item was added:
+ ----- Method: RxParser class>>specialCharacters (in category 'utilities') -----
+ specialCharacters
+
+ ^ #($( $) $[ $] $* $+ $? ${ $} $. $^ $$ $: $\)!
Item was added:
+ ----- Method: String>>escapeRegex (in category '*Regex-Core') -----
+ escapeRegex
+
+ ^ RxParser escapeString: self!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210708/6d995a69/attachment.html>
More information about the Squeak-dev
mailing list
|