guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: wxwidgets: enable advanced (!) regular expressions.


From: Danny Milosavljevic
Subject: Re: [PATCH] gnu: wxwidgets: enable advanced (!) regular expressions.
Date: Sat, 7 May 2016 07:00:23 +0200

Hi,

some more docs about the so-called "advanced" regular expressions needed by 
KiCad and wxRegEx in general:

http://wxd.sourceforge.net/wxWidgets-2.5.3/docs/html/wx/wx_wxregex.html

The "advanced" regular expression features (on top of extended regular 
expressions) are:
- Escapes: \a \b \n \r etc have the usual C meaning (bell, backspace, newline, 
carriage return etc)
- Class Shorthands: \d is the same as [[:digit:]]
- positive lookahead
- negative lookahead

The places in KiCad 4.0.1 where they are used are:

./eeschema/class_netlist_object.cpp:static wxRegEx busLabelRe( wxT( 
"^([^[:space:]]+)(\\[[\\d]+\\.+[\\d]+\\])$" ), wxRE_ADVANCED );
./pcbnew/dialogs/dialog_fp_lib_table.cpp:        wxRegEx re( wxT( 
".*?\\$\\{(.+?)\\}.*?" ), wxRE_ADVANCED );
./pcbnew/netlist_reader.cpp:    wxRegEx reOrcad( wxT( "(?i)[ ]*\\([ \t]+{+" ), 
wxRE_ADVANCED );
./pcbnew/netlist_reader.cpp:    wxRegEx reLegacy( wxT( "(?i)#[ \t]+EESchema[ 
\t]+Netlist[ \t]+" ), wxRE_ADVANCED );
./pcbnew/netlist_reader.cpp:    wxRegEx reKicad( wxT( "[ ]*\\(export[ ]+" ), 
wxRE_ADVANCED );

As you can see the "advanced" features are actually used in the eeschema 
class_netlist_object (trivially, just the shorthand) and in the netlist reader 
in two places (Escapes and some mysterious "(?i)" moniker - see 
http://www.regular-expressions.info/modifiers.html . Not sure whether that 
would be supported in POSIX extended regular expressions). As far as I can see 
the other places don't actually use the "advanced" features. Note that POSIX 
extended regular expressions are "almost an exact" subset of "advanced regular 
expressions", according to the docs.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]