C# :: How To Match Regex If Input Was Array Of Strings
May 19, 2014
In the MSDN, it gives an example using Regex.Matches method:
using System;
using System.Text.RegularExpressions;
public class Example {
public static void Main() {
string pattern = "a*";
string input = "abaabb";
foreach (Match m in Regex.Matches(input, pattern))
Console.WriteLine("'{0}' found at index {1}.",
m.Value, m.Index);
[code]......
I am wondering if string input was an array of strings instead, how would I use Regex.Matches?
What I was thinking about doing is having the input array set to ToString(), input.ToString(), but that doesn't seem to work.
View 9 Replies
ADVERTISEMENT
Sep 2, 2013
'Write a program to match the user input string with the contents of text files and give the result as to which files contain the input string. This has to be done by using finite automaton.' (Any language can be used) So basically, the user will input a string (in the command line or a gui) and "we must pass the text files to the DFA" (I'm double quoting this because it's precisely what my professor told) and then display those files which contain the string. The string can be hard-coded, ie,the user will get the output file that contains a specific string. ex: 'hello'. The problem is, I have never done any program on DFA so I'm at a loss. how to write the program. Should I read the files first and then use some 'switch' or 'goto' conditions for the DFA? Below is a code I found on the internet for simulating a DFA accepting a specific string.
Code:
s: accept = false; cin >> char;
if char = "m" goto m;
if char = EOF goto end;
goto s;
m: accept = false; cin >> char;
if char = "m" goto m;
if char = "a" goto a;
if char = EOF goto end;
goto s;
}
[code]....
View 3 Replies
View Related
Apr 18, 2013
I am trying to get the position of the matches of "Un" in string "Unseen University" in c++ code using STL regex. How can I do this.
i.e. I have following:
std::vector<std::cmatch*>* matches = new std::vector<std::cmatch*>*;
intMyReturnVal = regex("Unseen University", "Un", matches);
I can access a match by
matches->at(i)
and get an Iterator to the beginning of the match by
matches->at(i)->begin()
How can I get the relative position of the match within the entire target string (i.e. "Unseen University", where, in this case, the positions should be 0 and 7)??
View 1 Replies
View Related
Apr 17, 2013
I am using the (fairly) new STL implementation, which I just became aware of, of regexes. Seems to be an implementation of boost::regex Anyway, I have code, which I would like to use to get ALL matches within a string.
My String is: "Unseen University - Ankh-Morpork"
My regex is (simply): "Un" ;)
using code:
const char *reg_esp = "Un";
std::regex rgx(reg_esp);
std::cmatch matches;
const char *target = "Unseen University - Ankh-Morpork";
[Code] .....
gives output:
"Un" (one line only). How do I get this to match ALL instances of "Un" (i.e. that the output is "UnUn", i.e Un two times)?
View 2 Replies
View Related
Oct 29, 2014
This program is supposed to compare 2 strings and print out a 1 if the characters match and a 0 if they dont. It compiles but doesnt give me the correct output.
Code:
#include <stdio.h>
#include <string.h>
void func();
int main () {
func();
return 0;
[Code] ....
View 11 Replies
View Related
Feb 19, 2014
I was very much confused with managing the 3d arrays. Other than initialising it is tough for me to input the data into the 3d array at runtime. I have tried the every possible method i know untill now but i can't successfully input and output the data.
I have written a code by declaring the 3d array of char s[5][2][20] in main and passing it's base address into another function, lets say input(char (*p)[2][20],int ,int ,int). I have passed the 3 dimensions in declaration 5,2,20 to the input function i have used these 3 values as the subscript for the pointer p and tried to input the data. But i wasn't successful.
How to input the strings into the 3d array.
My preferences were:
1.The change of subscript value should take place in loop(eg:for).
2.Which indexes should be used for inputing the data through pointer.
3.Use either "scanf" or "gets" function to inputs the data and print using "printf" or puts.
View 1 Replies
View Related
Oct 18, 2014
i want to find the position of the first string in input.txt that matches a regex
// Input.txt
[A-Z]o
Hello everyone, i am John It is rainy today
// Here is my code
string temp; // Store "Hello everyone, i am John
//It is rainy today"
temp.resize(500);
char REGEX[500];
FILE *fi;
[Code]....
View 5 Replies
View Related
Feb 21, 2013
My program compiles fine and doesn't have any errors so I am confused as to what the issue might be.
I have a int, which is determined by the user via cin.
I have a char, which is a random word generated from an input file.
1. I want the program to display "The word you entered does match..." if the word entered by the user is the same as the random word.
2. I want the program to display "The word you entered does not match..." if the word entered by the user is not the same as the random word.
The code I'm using for number one is
if (char == "int") cout << "does match..."
The code I'm using for number two is
else if (char != "int") cout << "does not match..."
Basically the programs only outputs "does not match" whether or not it really matches. Even if it matches, it outputs does not match.
Is something wrong with my code?
View 7 Replies
View Related
Dec 3, 2014
I have an if statement that should either match a text variable that the user has entered and a another text variable that has been got from an array but they won't match even if they are the same,Im at a lost with it.
void displayQuestion(int noQuestion, string questionArray[], string answerarray[], string answer, double scorearray, double finalscore){
cout << questionArray[noQuestion] << endl;
cout << "enter an answer " << endl;
cin >> answer;
[Code] ....
View 1 Replies
View Related
Apr 15, 2014
I am having a problem with my "void Validation :: getId()" function its suppose to get the id number from the user but when I try and type a letter to see if it catches it, it goes into this continuous loop. Also with my "string Validation :: getName(string name)" function it suppose to catch the comma in the user input for their last name , first name but doesn't catch it and still returns the name back to main function.
#include "InputValidation.h"
#include <iostream>
using namespace std;
Validation :: Validation() {
name = " ";
id = 0;
[Code] ....
View 1 Replies
View Related
Nov 25, 2014
The program is supposed to read in a string from the user and then output the number of each vowel that the string has. My first function is initializing the vectors, and the one that I'm having trouble with is the function used to read the string from the user and save it.
Here's my code:
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
using namespace std;
// FUNCTION PROTOTYPES GO HERE:
void init_vectors(vector<char> & vowels, vector<int> & frequencies);
string read_text(const string & prompt);
[Code] ....
And I'm getting the error:
freq.cpp: In function ‘std::string read_text(const std::string&)’:
freq.cpp:74: error: no matching function for call to ‘getline(std::istream&, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)’
I'm not too sure if I can't use the function getline here or if there is something wrong with the function prototype itself but I'm pretty sure there isn't an error there as it was given to me.
View 4 Replies
View Related
Jan 18, 2015
I want to use C++ regex library, to use it in my lil' CLI game. The aim is to create the template(not C++ template :)) for command(like "go north"). Then, if player writes anything that contains "go", and "north" appearing after that(examples: "go north" "please go north" "Let's go north!" "Princess, I insist that we go to the north") would all be interpreted as simple "go north". I have used a bit of regex in Linux system, but not this ECMAScript regex that C++ uses.I've checked in some online regex tester, that if I write: ".*go.*north.*" then anything I want will be matched; however, I'd like these to be specifically separated by space(the rule is: between north and go there must be at least one character: a space, so that gornorth won't be interpreted as command.).
Bonus points: if it's possible to do that without some kind of black magic, I'd like to achieve following goals:
1)Before go, there can be any amount of characters, but if there is 1 or more characters, the character just before go must be space.
2)In between go and north, there must be at least one character, space. If there are more, then characters right after go and just before north have to be spaces.
View 8 Replies
View Related
Apr 24, 2014
I have a multimap with over 300k entries defined like so: std::multimap<std::string, std::string> filedata;
Using the following code and std::multimap::equal_range, I am able to successfully search for a word in the multimap and get needed data:
// Data with strings.
data = std::vector<std::string>();
// Get iterators to matched pairs.
std::pair <std::multimap<std::string, std::string>::iterator, std::multimap<std::string, std::string>::iterator> dat = filedata.equal_range(word);
// Go through each matched pair and get needed info.
for (std::multimap<std::string, std::string>::iterator iter = dat.first; iter != dat.second; iter++) {
data.push_back(iter->second);
}
Now, I would like to search the multimap using regular expressions (EX: std::regex("[a-z][a-e]h")). What is the fastest way to do this? Example code may look like:
std::pair <std::multimap<std::string, std::string>::iterator, std::multimap<std::string, std::string>::iterator> dat = filedata.equal_range_with_regex(std::regex("" + word + ""));. Pseudo-code / algorithms will be enough.
View 2 Replies
View Related
Nov 23, 2014
string skirt = "[\s,.;:!?()\-]+";
regex re(skirt);
sregex_token_iterator it(begin(), end(), re, -1);
sregex_token_iterator reg_end;
for(; it != reg_end; ++it) {
string zodis = it->str();
}
}
I use this to get a word from a large text file. But the problem is, if there is :
however,
It prints out now
however,
but
however
without a separator.
How can I fix that?
View 12 Replies
View Related
Aug 27, 2014
I have the the following two strings:
D 1069 Dresden - Neustadt
01069 Dresden - Neustadt
I want to splitt the string and the result should be in both cases:
1069
Dresden - Neustadt
How could i do this with regular expression?
View 6 Replies
View Related
May 13, 2014
say I have person 1 to person 1024
Let's say
I want to sort them from smartest to dumbest
I have very few data say
person 1 is smarter than person 23 and so on
There are many missing data
say I don't know if person 30 is smarter or dumber than person 50
How to sort this kind of array ?
I definitely know it can't be sorted but how can I sort this as best as possible.
View 4 Replies
View Related
Dec 4, 2014
In the code below there is some error, I think it is related with functions. It compiles properly but then it outputs only : "humanslife8.90145e+032"
#include <iostream>
#include <windows.h>
#include <stdlib.h>
using namespace std;
void userInput(float HumanNumber, float SkeletonNumber, float AllHumanslife, float AllSkeltonslife, float SkeletonHealth, float HumanHealth);
void HumansTurn(int turn, float HumanAttack, float AllSkeletonslife, float HumanNumber, float HumanDamage, float SkeletonHealth, float SkeletonNumber);
[code].....
View 3 Replies
View Related
Sep 5, 2013
So I need to use boost/regex for regular expressions. someone told me that it needs to be built. the first problem is boost doesn't tell you how to build it and the second is i did sudo apt-get install libboost something. I don't remember the exact name of the package. it installed but i dont know how i would build it when its installed.
View 2 Replies
View Related
Mar 27, 2013
I want to create a map contaning a regex as key and a char* as an attribute , like:-
map<regex, char*> res;
res["[[:alnum:]]"] = "alphanumeric text";
but the following error is generated:-
vector<pair<regex,string>>res;
res.push_back(make_pair("[[:alnum:]]","alphanumeric"));
but the error generated is:-
no instance of overloaded function "std::vector<_Ty, _Alloc>::push_back [with _Ty=std::pair<std::regex, std::string>, _Alloc=std::allocator<std::pair<std::regex, std::string>>]" matches the argument list
argument types are: (std::pair<const char *, const char *>)
object type is: std::vector<std::pair<std::regex, std::string>, std::allocator<std::pair<std::regex, std::string>>>
View 13 Replies
View Related
May 9, 2014
I am trying to highlight integers in a textbox.
The problem, is that I dont know how to make Regex get Integers no matter what (e.g. even if an =, >,<,>=,<= sign is in front or anything) unless it is encased in a string e.g. "'s or whatever.
My current code does this:
I do not want the numbers to be highlighted if they are in a string.
View 6 Replies
View Related
Jan 11, 2013
I'm trying to open a file and perform a regex on it, then print the matches, but I'm not sure if I have it right. I think I need to remove the line -
Code:
[for ( std::vector<TCHAR>::iterator It = buffer.begin();It != buffer.end(); It++ )
since I've already copied the file into the buffer, but how do I search the buffer?
Code:
std::ifstream in(TempFullPath, std::ios::in|std::ios::binary);
if( in.fail() )
{
std::cout << "File does not exist or could not open file";
}
[Code]....
View 1 Replies
View Related
Sep 26, 2014
I was just reviewing some code, and my eye fell on a bit of regex that's intended to parse a date/time stamp into a date and time.
The timestamp uses shorted month names. The regex had all the possible month names to match the entire pattern. If it does, it went through a 2Nd loop to convert the month name into a 1 to 12 numeric value...
This made me wonder, since the regex is already doing the work to verify the alternation, can't it at the same time tell me which of the possible alternations it matched and use that to calculate the numeric value. So basically
Code:
std::regex reMonth("Some more regex stuff here (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec).");
CString strTest("Some more regex stuff here Aug.");
std::cmatch res;
if (std::regex_match(strTest.GetString(), res, reMonth)) {
//int iMonthNum = res[1].something(); // some code here that returns 8 for Aug.
}
Or is there really no other way out than doing a 2nd level verification to figure out the actual month number. (The real regex is a bit more complex than this).
View 3 Replies
View Related
Aug 1, 2013
I've got two columns of data.
Code:
int a[6]={1,3,5,8,10,12};
int b[3]={3,5,9};
int c[6]={0}; if a is equal to ANY of the data in b, then c= a*2
if a isn't equal to any of the data in b, then c=a.
Here is the answer I want
Code:
c[6]={1,6,10,8,10,12}
I tried using two for loop, but it isn't correct.....
Code:
int a[6]={1,3,5,8,10,12};
int b[3]={3,5,9};
int c[6]={0};
for(int i=0;i<6;++i){
[Code] ....
View 3 Replies
View Related
Feb 22, 2013
and see if the first three match a list then read in three more behind those that were left and perform a similar test on them and keep going?
View 8 Replies
View Related
Aug 2, 2013
I have a input record like
acct|N|Y|N|N|rose@gmail.com
Now I need to create a logic to append a code to the end of the file using the following matrix rules.
00NNNN
01NNNY
02NNYN
03NNYY
04NYNN
05NYNY
06NYYN
07NYYY
[code].....
In the above example these four flags are "N|Y|N|N", so I need to append the matching code at the end of file "04".
desired output :
acct|N|Y|N|N|rose@gmail.com|04|
as it matches code '04':
04NYNN
View 5 Replies
View Related
Feb 4, 2014
How will you factor out data with different values to match to another value.
For example:
value A=100
value B=50,10,20,5,15,20,30
How will you construct a logic that the values on value B will have an equal value as value A.
100 = 50+20+10+20 or 100 = 50+30+20 and so on and so forth.
I am stuck.
View 2 Replies
View Related