diff --git a/appendix.htm b/appendix.htm
index 18ae453d..a3c25740 100644
--- a/appendix.htm
+++ b/appendix.htm
@@ -1067,7 +1067,7 @@ syntax messages replace the default ones.
There are three demo applications that ship with this library, they all come with makefiles for Borland, Microsoft and gcc @@ -1081,9 +1081,9 @@ guarantee that the library will behave as claimed - at least as far as those items tested are concerned - if anyone spots anything that isn't being tested I'd be glad to hear about it.
-Files: parse.cpp, regress.cpp, tests.cpp.
+Files: parse.cpp, regress.cpp, tests.cpp.
Files: regex_timer.cpp. +
Files: regex_timer.cpp.
The snippets demos contain the code examples used in the +
The snippets examples contain the code examples used in the documentation:
-snip1.cpp: ftp based +
regex_match_example.cpp: ftp based regex_match example.
-snip2.cpp: regex_search +
regex_search_example.cpp: regex_search example: searches a cpp file for class definitions.
-snip3.cpp: regex_grep +
regex_grep_example_1.cpp: regex_grep example 1: searches a cpp file for class definitions.
-snip4.cpp: regex_merge +
regex_merge_example.cpp: regex_merge example: converts a C++ file to syntax highlighted HTML.
-snip5.cpp: regex_grep +
regex_grep_example_2.cpp: regex_grep example 2: searches a cpp file for class definitions, using a global callback function.
-snip6.cpp: regex_grep +
regex_grep_example_3.cpp: regex_grep example 2: searches a cpp file for class definitions, using a bound member function callback.
-snip7.cpp: regex_grep +
regex_grep_example_4.cpp: regex_grep example 2: searches a cpp file for class definitions, using a C++ Builder closure as a callback.
-snip8.cpp: regex_split +
regex_split_example_1.cpp: regex_split example: split a string into tokens.
-snip9.cpp: regex_split +
regex_split_example_2.cpp: regex_split example: spit out linked URL's.
GCC(2.95)
There is a conservative makefile for the g++ compiler. From -the command prompt change to the <boost>/libs/regex/lib +the command prompt change to the <boost>/libs/regex/build directory and type:
make -fgcc.mak
@@ -379,7 +379,7 @@ directory and type: containing release and debug versions of the library (libboost_regex.a and libboost_regex_debug.a). When you build projects that use regex++, you will need to add the boost install directory to your -list of include paths and add <boost>/libs/gcc/libboost_regex.a +list of include paths and add <boost>/libs/regex/build/gcc/libboost_regex.a to your list of library files.There is also a makefile to build the library as a shared @@ -426,7 +426,7 @@ make
Note that the configure generated makefiles produce only a
static library, if you would prefer to build a shared library,
-then there is a generic.mak makefile in the <boost>/libs/regex/lib
+then there is a generic.mak makefile in the <boost>/libs/regex/build
directory. To use this you will need to set up a number of
environment variables first (see the makefile for more details).
Finally if you use one of the following compilers: Kai C++, SGI
diff --git a/makefile.in b/makefile.in
index ba1ae513..e9f3bc53 100644
--- a/makefile.in
+++ b/makefile.in
@@ -1,23 +1,23 @@
ALL_DEP=@ac_all_dep@
-base: ./lib/libboost_regex.a
+base: ./build/libboost_regex.a
-./lib/libboost_regex.a: $(ALL_DEP)
+./build/libboost_regex.a: $(ALL_DEP)
sh dmi.sh lib
jgrep : base
- sh dmi.sh demo/jgrep
+ sh dmi.sh example/jgrep
test : base
- sh dmi.sh demo/regress
+ sh dmi.sh test/regress
regress : test
timer : base
- sh dmi.sh demo/timer
+ sh dmi.sh example/timer
install : base
echo no install option available
diff --git a/makefile_gen b/makefile_gen
index 7a24f02b..cfc21bbf 100644
--- a/makefile_gen
+++ b/makefile_gen
@@ -302,7 +302,7 @@ EOF
function gcc_gen()
{
- out="lib/gcc.mak"
+ out="build/gcc.mak"
tout="temp"
iout="temp_install"
subdir="gcc"
@@ -371,7 +371,7 @@ EOF
function gcc_gen_shared()
{
- out="lib/gcc-shared.mak"
+ out="build/gcc-shared.mak"
tout="temp"
iout="temp_install"
subdir="gcc"
@@ -696,7 +696,7 @@ EOF
function gen_gen()
{
- out="lib/generic.mak"
+ out="build/generic.mak"
tout="temp"
iout="temp_install"
subdir="\$(DIRNAME)"
@@ -969,13 +969,13 @@ done
#
# generate vc6 makefile:
-out="lib/vc6.mak"
+out="build/vc6.mak"
subdir="vc6"
vc6_gen
#
# generate vc6-stlport makefile:
is_stlport="yes"
-out="lib/vc6-stlport.mak"
+out="build/vc6-stlport.mak"
no_single="yes"
subdir="vc6-stlport"
vc6_gen
@@ -986,18 +986,18 @@ gcc_shared="yes"
gcc_gen_shared
#
# generate C++ Builder 4 files:
-out="lib/bcb4.mak"
+out="build/bcb4.mak"
subdir="bcb4"
bcb_gen
#
# generate C++ Builder 5 files:
-out="lib/bcb5.mak"
+out="build/bcb5.mak"
subdir="bcb5"
bcb_gen
#
# generate C++ Builder 5 command line tools files:
use_vcl="no"
-out="lib/bc55.mak"
+out="build/bc55.mak"
subdir="bcb5"
bcb_gen
#
@@ -1005,7 +1005,7 @@ bcb_gen
gen_gen
#
# generate Sun 6.1 makefile:
-out="lib/sunpro.mak"
+out="build/sunpro.mak"
subdir="sunpro"
sun_gen
diff --git a/template_class_ref.htm b/template_class_ref.htm
index 8ab5dbb2..5fc033ef 100644
--- a/template_class_ref.htm
+++ b/template_class_ref.htm
@@ -1064,7 +1064,7 @@ template <class charT> class regex_traits : public base_type { /*detailts*
- regex_match returns false if no match occurs or true if it does. A match only occurs if it starts at first and finishes at last. Example: the following
regex_match returns false if no match occurs or true if it does. A match only occurs if it starts at first and finishes at last. Example: the following
example processes an ftp response:#include <stdlib.h> #include <boost/regex.hpp> #include <string> @@ -1299,7 +1299,7 @@ regex expression("([0-9]+)(\\-| |$)(.*)");-
Example: the following
example, takes the contents of a file in the form of a string, and searches for all the C++ class declarations in the file. The code will work regardless of the way that std::string is implemented, for example it could easily be modified to work with the SGI rope class, which uses a non-contiguous storage strategy. +Example: the following
example, takes the contents of a file in the form of a string, and searches for all the C++ class declarations in the file. The code will work regardless of the way that std::string is implemented, for example it could easily be modified to work with the SGI rope class, which uses a non-contiguous storage strategy.#include <string> #include <map> #include <boost/regex.hpp> @@ -1415,7 +1415,7 @@ void IndexClasses(map_type& m, const std::string& file) };For example the regular expression "a*b" would find one match in the string "aaaaab" and two in the string "aaabb".
Remember this algorithm can be used for a lot more than implementing a version of grep, the predicate can be and do anything that you want, grep utilities would output the results to the screen, another program could index a file based on a regular expression and store a set of bookmarks in a list, or a text file conversion utility would output to file. The results of one regex_grep can even be chained into another regex_grep to create recursive parsers.
-Example: convert the example from regex_search to use regex_grep instead:
+Example: convert the example from regex_search to use regex_grep instead:
#include <string> #include <map> #include <boost/regex.hpp> @@ -1456,7 +1456,7 @@ void IndexClasses(map_type& m, const std::string& file) end = file.end(); regex_grep(IndexClassesPred(m, start), start, end, expression); }-
Example: Use regex_grep to call a global callback function:
+Example: Use regex_grep to call a global callback function:
#include <string> #include <map> #include <boost/regex.hpp> @@ -1493,7 +1493,7 @@ void IndexClasses(const std::string& file) regex_grep(grep_callback, start, end, expression, match_default); }-
Example: use regex_grep to call a class member function, use the standard library adapters std::mem_fun and std::bind1st to convert the member function into a predicate:
+Example: use regex_grep to call a class member function, use the standard library adapters std::mem_fun and std::bind1st to convert the member function into a predicate:
#include <string> #include <map> #include <boost/regex.hpp> @@ -1546,7 +1546,7 @@ bool class_index::grep_callback(boost::match_results<std::string::const_i expression); }-
Finally, C++ Builder users can use C++ Builder's closure type as a callback argument:
+Finally, C++ Builder users can use C++ Builder's closure type as a callback argument:
#include <string> #include <map> #include <boost/regex.hpp> @@ -1802,7 +1802,7 @@ std::basic_string<charT> regex_merge(const std::basic_string<cha -Example: the following
example takes C/C++ source code as input, and outputs syntax highlighted HTML code. +Example: the following
example takes C/C++ source code as input, and outputs syntax highlighted HTML code.#include <fstream> #include <sstream> @@ -1924,12 +1924,12 @@ std::size_t regex_split(OutputIterator out, std::size_t regex_split(OutputIterator out, std::basic_string<charT, Traits1, Alloc1>& s);Each version takes an output-iterator for output, and a string for input. If the expression contains no marked sub-expressions, then the algorithm writes one string onto the output-iterator for each section of input that does not match the expression. If the expression does contain marked sub-expressions, then each time a match is found, one string for each marked sub-expression will be written to the output-iterator. No more than max_split strings will be written to the output-iterator. Before returning, all the input processed will be deleted from the string s (if max_split is not reached then all of s will be deleted). Returns the number of strings written to the output-iterator. If the parameter max_split is not specified then it defaults to UINT_MAX. If no expression is specified, then it defaults to "\s+", and splitting occurs on whitespace.
-Example: the following function will split the input string into a series of tokens, and remove each token from the string s:
+Example: the following function will split the input string into a series of tokens, and remove each token from the string s:
unsignedtokenise(std::list<std::string>& l, std::string& s) { return boost::regex_split(std::back_inserter(l), s); } -
Example: the following short program will extract all of the URL's from a html file, and print them out to cout:
+Example: the following short program will extract all of the URL's from a html file, and print them out to cout:
#include <list> #include <fstream> #include <iostream> @@ -2028,7 +2028,7 @@ boost::regex e("<\\s*A\\s+[^>]*href\\s*=\\s*\"([^\"] -The following example tests to see whether the text could be a valid credit card number, as the user presses a key, the character entered would be added to the string being built up, and passed to
+is_possible_card_number
. If this returns true then the text could be a valid card number, so the user interface's OK button would be enabled. If it returns false, then this is not yet a valid card number, but could be with more input, so the user interface would disable the OK button. Finally, if the procedure throws an exception the input could never become a valid number, and the inputted character must be discarded, and a suitable error indication displayed to the user.The following example tests to see whether the text could be a valid credit card number, as the user presses a key, the character entered would be added to the string being built up, and passed to
is_possible_card_number
. If this returns true then the text could be a valid card number, so the user interface's OK button would be enabled. If it returns false, then this is not yet a valid card number, but could be with more input, so the user interface would disable the OK button. Finally, if the procedure throws an exception the input could never become a valid number, and the inputted character must be discarded, and a suitable error indication displayed to the user.#include <string> #include <iostream> #include <boost/regex.hpp> @@ -2055,7 +2055,7 @@ bool is_possible_card_number(const std::string& input) // what we have so far is only a partial match... return false; }-In the following example, text input is taken from a stream containing an unknown amount of text; this example simply counts the number of html tags encountered in the stream. The text is loaded into a buffer and searched a part at a time, if a partial match was encountered, then the partial match gets searched a second time as the start of the next batch of text:
+In the following example, text input is taken from a stream containing an unknown amount of text; this example simply counts the number of html tags encountered in the stream. The text is loaded into a buffer and searched a part at a time, if a partial match was encountered, then the partial match gets searched a second time as the start of the next batch of text:
#include <iostream> #include <fstream> #include <sstream> diff --git a/demo/c_compiler_checks/posix_api_check.c b/test/c_compiler_checks/posix_api_check.c similarity index 100% rename from demo/c_compiler_checks/posix_api_check.c rename to test/c_compiler_checks/posix_api_check.c diff --git a/demo/c_compiler_checks/posix_api_check.cpp b/test/c_compiler_checks/posix_api_check.cpp similarity index 100% rename from demo/c_compiler_checks/posix_api_check.cpp rename to test/c_compiler_checks/posix_api_check.cpp diff --git a/demo/c_compiler_checks/wide_posix_api_check.c b/test/c_compiler_checks/wide_posix_api_check.c similarity index 100% rename from demo/c_compiler_checks/wide_posix_api_check.c rename to test/c_compiler_checks/wide_posix_api_check.c diff --git a/demo/c_compiler_checks/wide_posix_api_check.cpp b/test/c_compiler_checks/wide_posix_api_check.cpp similarity index 100% rename from demo/c_compiler_checks/wide_posix_api_check.cpp rename to test/c_compiler_checks/wide_posix_api_check.cpp diff --git a/demo/regress/bc55.mak b/test/regress/bc55.mak similarity index 98% rename from demo/regress/bc55.mak rename to test/regress/bc55.mak index 7a9da4dc..3dbd4c51 100644 --- a/demo/regress/bc55.mak +++ b/test/regress/bc55.mak @@ -14,7 +14,7 @@ TLINK32 = $(BCROOT)\bin\ILink32.exe IDE_LinkFLAGS32 = -L$(BCROOT)\LIB LINKOPTS= -ap -Tpe -x -CFLAGS= -O2 -tWC -DSTRICT; -w-inl -w-aus -w-csu -w-eff -w-rch -I$(BCROOT)\include;..\..\..\..\; -L..\..\lib\bcb5 +CFLAGS= -O2 -tWC -DSTRICT; -w-inl -w-aus -w-csu -w-eff -w-rch -I$(BCROOT)\include;..\..\..\..\; -L..\..\build\bcb5 all :: r1.exe r2.exe r3.exe r4.exe r5.exe r6.exe r1m.exe r2m.exe r3m.exe r4m.exe r5m.exe r6m.exe r1l.exe r2l.exe r3l.exe r4l.exe r5l.exe r6l.exe r1lm.exe r2lm.exe r3lm.exe r4lm.exe r5lm.exe r6lm.exe echo testing static single threaded version.... @@ -132,3 +132,4 @@ r6lm.exe : tests.cpp parse.cpp regress.cpp + diff --git a/demo/regress/bcb4.mak b/test/regress/bcb4.mak similarity index 99% rename from demo/regress/bcb4.mak rename to test/regress/bcb4.mak index 14832619..a6e64aa6 100644 --- a/demo/regress/bcb4.mak +++ b/test/regress/bcb4.mak @@ -14,7 +14,7 @@ TLINK32 = $(BCROOT)\bin\ILink32.exe IDE_LinkFLAGS32 = -L$(BCROOT)\LIB LINKOPTS= -ap -Tpe -x -CFLAGS= -O2 -tWC -DSTRICT; -w-inl -w-aus -w-csu -w-eff -w-rch -I$(BCROOT)\include;..\..\..\..\; -L..\..\lib\bcb4 +CFLAGS= -O2 -tWC -DSTRICT; -w-inl -w-aus -w-csu -w-eff -w-rch -I$(BCROOT)\include;..\..\..\..\; -L..\..\build\bcb4 all :: r1.exe r2.exe r3.exe r4.exe r5.exe r6.exe r1m.exe r2m.exe r3m.exe r4m.exe r5m.exe r6m.exe r1v.exe r2v.exe r3v.exe r4v.exe r5v.exe r6v.exe r1l.exe r2l.exe r3l.exe r4l.exe r5l.exe r6l.exe r1lm.exe r2lm.exe r3lm.exe r4lm.exe r5lm.exe r6lm.exe r1lv.exe r2lv.exe r3lv.exe r4lv.exe r5lv.exe r6lv.exe echo testing static single threaded version.... @@ -184,3 +184,4 @@ r6lv.exe : tests.cpp parse.cpp regress.cpp + diff --git a/demo/regress/bcb5.mak b/test/regress/bcb5.mak similarity index 99% rename from demo/regress/bcb5.mak rename to test/regress/bcb5.mak index bb913dcb..5b98b060 100644 --- a/demo/regress/bcb5.mak +++ b/test/regress/bcb5.mak @@ -14,7 +14,7 @@ TLINK32 = $(BCROOT)\bin\ILink32.exe IDE_LinkFLAGS32 = -L$(BCROOT)\LIB LINKOPTS= -ap -Tpe -x -CFLAGS= -O2 -tWC -DSTRICT; -w-inl -w-aus -w-csu -w-eff -w-rch -I$(BCROOT)\include;..\..\..\..\; -L..\..\lib\bcb5 +CFLAGS= -O2 -tWC -DSTRICT; -w-inl -w-aus -w-csu -w-eff -w-rch -I$(BCROOT)\include;..\..\..\..\; -L..\..\build\bcb5 all :: r1.exe r2.exe r3.exe r4.exe r5.exe r6.exe r1m.exe r2m.exe r3m.exe r4m.exe r5m.exe r6m.exe r1v.exe r2v.exe r3v.exe r4v.exe r5v.exe r6v.exe r1l.exe r2l.exe r3l.exe r4l.exe r5l.exe r6l.exe r1lm.exe r2lm.exe r3lm.exe r4lm.exe r5lm.exe r6lm.exe r1lv.exe r2lv.exe r3lv.exe r4lv.exe r5lv.exe r6lv.exe echo testing static single threaded version.... @@ -184,3 +184,4 @@ r6lv.exe : tests.cpp parse.cpp regress.cpp + diff --git a/demo/regress/gcc.mak b/test/regress/gcc.mak similarity index 92% rename from demo/regress/gcc.mak rename to test/regress/gcc.mak index 6cc8bb56..ceb85814 100644 --- a/demo/regress/gcc.mak +++ b/test/regress/gcc.mak @@ -3,7 +3,7 @@ # # g++ 2.95 and greater # -CXX= g++ $(INCLUDES) -pedantic -Wall -I../../../../ -I./ $(CXXFLAGS) -L../../lib/gcc $(LDFLAGS) +CXX= g++ $(INCLUDES) -pedantic -Wall -I../../../../ -I./ $(CXXFLAGS) -L../../build/gcc $(LDFLAGS) total : r2 ./r2 tests.txt @@ -51,5 +51,6 @@ debug : tests.cpp parse.cpp regress.cpp + diff --git a/demo/regress/makefile.in b/test/regress/makefile.in similarity index 73% rename from demo/regress/makefile.in rename to test/regress/makefile.in index 33977b76..9658d2f3 100644 --- a/demo/regress/makefile.in +++ b/test/regress/makefile.in @@ -3,13 +3,13 @@ # CXX=@CXX@ CXXFLAGS=@CXXFLAGS@ -I../../../../ -LIBS=@LIBS@ -L../../lib -lboost_regex +LIBS=@LIBS@ -L../../build -lboost_regex EXE=@ac_exe_ext@ OBJ=@ac_obj_ext@ total : @ac_regress@ -LIBDEP=../../lib/libboost_regex.a ../../../../boost/re_detail/regex_options.hpp ../../../../boost/re_detail/regex_config.hpp +LIBDEP=../../build/libboost_regex.a ../../../../boost/re_detail/regex_options.hpp ../../../../boost/re_detail/regex_config.hpp r1$(EXE) :: tests.cpp parse.cpp regress.cpp $(CXX) -o r1$(EXE) $(CXXFLAGS) tests.cpp parse.cpp regress.cpp $(LIBS) @@ -42,5 +42,6 @@ r2$(EXE) :: tests.cpp parse.cpp regress.cpp + diff --git a/demo/regress/parse.cpp b/test/regress/parse.cpp similarity index 100% rename from demo/regress/parse.cpp rename to test/regress/parse.cpp diff --git a/demo/regress/regex_test.cpp b/test/regress/regex_test.cpp similarity index 100% rename from demo/regress/regex_test.cpp rename to test/regress/regex_test.cpp diff --git a/demo/regress/regress.cpp b/test/regress/regress.cpp similarity index 100% rename from demo/regress/regress.cpp rename to test/regress/regress.cpp diff --git a/demo/regress/regress.h b/test/regress/regress.h similarity index 100% rename from demo/regress/regress.h rename to test/regress/regress.h diff --git a/demo/regress/sunpro.mak b/test/regress/sunpro.mak similarity index 96% rename from demo/regress/sunpro.mak rename to test/regress/sunpro.mak index c2f8b8fe..6982f470 100644 --- a/demo/regress/sunpro.mak +++ b/test/regress/sunpro.mak @@ -4,7 +4,7 @@ # # Sun Workshop 6 and greater: # -CXX= CC $(INCLUDES) -I../../../../ -I./ $(CXXFLAGS) -L../../lib/sunpro $(LDFLAGS) +CXX= CC $(INCLUDES) -I../../../../ -I./ $(CXXFLAGS) -L../../build/sunpro $(LDFLAGS) total : r rm r/regress rm/regress rs rms rs/regress rms/regress rw rmw rw/regress rmw/regress rsw rmsw rsw/regress rmsw/regress echo testsing narrow character versions: @@ -126,5 +126,6 @@ clean: + diff --git a/demo/regress/test1252.txt b/test/regress/test1252.txt similarity index 100% rename from demo/regress/test1252.txt rename to test/regress/test1252.txt diff --git a/demo/regress/tests.cpp b/test/regress/tests.cpp similarity index 100% rename from demo/regress/tests.cpp rename to test/regress/tests.cpp diff --git a/demo/regress/tests.txt b/test/regress/tests.txt similarity index 100% rename from demo/regress/tests.txt rename to test/regress/tests.txt diff --git a/demo/regress/vc6-stlport.mak b/test/regress/vc6-stlport.mak similarity index 99% rename from demo/regress/vc6-stlport.mak rename to test/regress/vc6-stlport.mak index 270d7b38..0d34abcf 100644 --- a/demo/regress/vc6-stlport.mak +++ b/test/regress/vc6-stlport.mak @@ -20,7 +20,7 @@ XLFLAGS= CFLAGS= $(INCLUDES) /Oityb1 /GF /Gy -GX -GR -I..\..\..\..\ $(CXXFLAGS) -LFLAGS= -link /LIBPATH:..\..\lib\vc6-stlport user32.lib $(XLFLAGS) +LFLAGS= -link /LIBPATH:..\..\build\vc6-stlport user32.lib $(XLFLAGS) all :: r1m.exe r2m.exe r3m.exe r4m.exe r5m.exe r6m.exe r1l.exe r2l.exe r3l.exe r4l.exe r5l.exe r6l.exe r1ls.exe r2ls.exe r3ls.exe r4ls.exe r5ls.exe r6ls.exe r1md.exe r2md.exe r3md.exe r4md.exe r5md.exe r6md.exe r1lmd.exe r2lmd.exe r3lmd.exe r4lmd.exe r5lmd.exe r6lmd.exe r1mdd.exe r2mdd.exe r3mdd.exe r4mdd.exe r5mdd.exe r6mdd.exe r1lmdd.exe r2lmdd.exe r3lmdd.exe echo testing static multi-threaded version.... @@ -204,3 +204,4 @@ r6mdd.exe : tests.cpp parse.cpp regress.cpp + diff --git a/demo/regress/vc6.mak b/test/regress/vc6.mak similarity index 99% rename from demo/regress/vc6.mak rename to test/regress/vc6.mak index 1fb4ba12..905b8424 100644 --- a/demo/regress/vc6.mak +++ b/test/regress/vc6.mak @@ -18,7 +18,7 @@ XLFLAGS= CFLAGS= $(INCLUDES) /Oityb1 /GF /Gy -GX -GR -I..\..\..\..\ $(CXXFLAGS) -LFLAGS= -link /LIBPATH:..\..\lib\vc6 user32.lib $(XLFLAGS) +LFLAGS= -link /LIBPATH:..\..\build\vc6 user32.lib $(XLFLAGS) all :: r1.exe r2.exe r3.exe r4.exe r5.exe r6.exe r1m.exe r2m.exe r3m.exe r4m.exe r5m.exe r6m.exe r1l.exe r2l.exe r3l.exe r4l.exe r5l.exe r6l.exe r1ls.exe r2ls.exe r3ls.exe r4ls.exe r5ls.exe r6ls.exe r1d.exe r2d.exe r3d.exe r4d.exe r5d.exe r6d.exe r1md.exe r2md.exe r3md.exe r4md.exe r5md.exe r6md.exe r1lmd.exe r2lmd.exe r3lmd.exe r4lmd.exe r5lmd.exe r6lmd.exe echo testing static single threaded version.... @@ -219,3 +219,4 @@ r6lmd.exe : tests.cpp parse.cpp regress.cpp + diff --git a/demo/regress/wregex_test.cpp b/test/regress/wregex_test.cpp similarity index 100% rename from demo/regress/wregex_test.cpp rename to test/regress/wregex_test.cpp